Ir ao conteúdo

erro divisao


tioadres

Posts recomendados

Postado

é uma funcao que tem q retornar um numero real(fracao) simplificado..alguem pode me ajudar?

no main eu entro com dois valores reais..tipo.. num 1=p1/q1 e num 2 =p2/q2

void divisao (int p1, int q1,int p2,int q2) {

int qR,pR;

qR=q1*p2;

pR=p1*q2;

if (qR==pR)

printf("O resultado sera 1");

if (pR%2 && qR%2)

printf("o resultado sera %i/%i",pR/2,qR/2);

}

Postado

Primeiro, se quer q esta função retorne um valor, ela não pode ser void. Não existe no C um número na forma fracionária. voce pode imprimir dois números e um char '/' entre eles. E seu código ta muito confuso, dê nomes às variaveis de forma que outras pessoas possam entender, ninguem que pegue seu código tem a obrigação de adivinhar o que é p1, q1, p2, q2, qR, pR...

Não entendi muito bem sua dúvida, mas espero ter ajudado.

Postado
Primeiro, se quer q esta função retorne um valor, ela não pode ser void. Não existe no C um número na forma fracionária. voce pode imprimir dois números e um char '/' entre eles. E seu código ta muito confuso, dê nomes às variaveis de forma que outras pessoas possam entender, ninguem que pegue seu código tem a obrigação de adivinhar o que é p1, q1, p2, q2, qR, pR...

Não entendi muito bem sua dúvida, mas espero ter ajudado.

-------

nao retorna...imprime direto na tela na real...

e estou fazendo isso...to imprimindo dois valores, com um / entre eles.(

printf("o resultado sera %i / %i",pR/2,qR/2);)

Vou tentar explicar de novo...

No programa principal eu digito o Produto(P1) e o Quociente(Q1)..exemplo: 6 / 3

e um Produto (P2) e um Quociente (Q2)...exemplo : 9 / 3

com esses dois valores, tenho que dividir e dar a forma mais simplificada ( 2 / 3 ) nesse caso...

so nao to conseguindo simplificar..

pode me ajudar ai?

Postado

Salve, tioadres.

Divisão entre inteiros (que é o seu caso, já que todos os termos envolvidos são inteiros) devolve INTEIROS.

NUNCA irá devolver real!

Divisão entre inteiros, pra ter resultado real, precisa fazer casting, e atribuir o resultado à uma variável de ponto flutuante (FLOAT).

Experimenta isto:

float dividir ( int termo_a, int termo_b )
{
float resultado;

resultado = (float) termo_a / termo_b;
return ( resultado );
}

[]'s

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!