Ir para o conteúdo
pr0zin

Fraçao em C

Mensagens Recomendadas

pr0zin

Boa tarde, eu gostava de saber como retornar um fraçao sem a simplificar, por ex: a=4, b =2 eu qeria fazer return a/b e o resultado fosse: 4/2 e nao 2.

Alguem sabe ajudar?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pr0zin

no exercicio tenho: A fraçao(valor de retorno da função).... se retornar como double temos penalizaçao de 1.5val.

O tipo de resultado deve corresponder a struct frac { int p,q;}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pr0zin

mas eu nao percebo como é qe assim tou a retornar uma fraçao... por ex, leio o &f.p e o &f.q, depois nao tenho qe fazer por ex double fin=f.p/f.q? e o return nao deveria ser fin? nao estou a compreender bem este exercicio

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

pelo que parece (porque não nos deste o privilégio de saber o enunciado) o pretendido é saber os componentes da fracção.

pensa assim : consegues escrever o número completo de 4/3 ? não, o computador também não.

deverá ser por isso que se pretende que retornes o numerador e o denominador (presumo que sejam esses os valores a serem retornados)


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pr0zin

"Sem usar variáveis indexadas, implemente uma função para ler da entrada padrão uma sequência de inteiros terminada por 0 e determinar a fracção dos que são múltiplos de k e não diferem de n mais do que d unidades, sendo k, d e n passados como argumentos na chamada da função e do tipo int. Por exemplo, para -6 4 -7 3 8 -5 -9 12 5 8 10 -14 0, a fracção dos que não diferem de 9 mais do que 3 unidades e são múltiplos de -2 seria 4/12, ou seja 1/3. Admita que a sequência tem algum elemento além do terminador 0, e que d é não negativo, e k pode ser 0. A fracção (valor de retorno da função) deve ser expressa por uma fracção irredutível p=q, em que q pode ser 1 se p=q=0 ou p=q=1. O tipo do resultado deve corresponder a struct frac {int p, q;}."

edit: eu fiz isto agora amigo, se for como tu me disseste é algo deste genero?

struct frac func (int k, int d, int n) {
frac f;
int num;
f.p=0;
f.q=0;
scanf("%d", &num);
	f.p++;
while(num!=0) {
	if(num%k==0)
		if((num >= (n-d)) || (num <=(n+d)))
			f.p+=1;
scanf("%d", &num);

Editado por Rui Carlos
Copiado do pastebin

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu nem vou discutir o que tens de fazer dentro da função, porque sinceramente, nem percebi pelo exemplo dado.

tens que retornar p e q, então basta usar o código que apresentei acima.

ps : com a lista de argumentos do enunciado, claro.

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.