Programa de calculo de frações

Programação C em geral

Moderadores: 51, guest2003

Programa de calculo de frações

Mensagempor leafar_stdg » 20 Out 2008 10:08

Amigos,

Tenho que fazer um programa que faça algumas operações com frações em C.

Estas operações são adição, subtração, multiplicação, divisão, comparação e potencia.

As operações básicas fiz sem provblemas mmas meu problema está no claculo da potencia que deve ser o seguinte:

potenciação, com as opções:
- racional elevado a inteiro. P.ex. (1/3)2
- racional elevado a outro racional. P.ex. (1/3)1/4


Alguem tem alguma idéia de como fazer estas operações ou algum algoritmo??

Agradeço a ajuda
leafar_stdg
Bit
 
Mensagens: 7
Registrado em: 16 Set 2008 12:18

Re: Programa de calculo de frações

Mensagempor Paulo » 20 Out 2008 10:57

leafar_stdg escreveu:Amigos,

Tenho que fazer um programa que faça algumas operações com frações em C.

Estas operações são adição, subtração, multiplicação, divisão, comparação e potencia.

As operações básicas fiz sem provblemas mmas meu problema está no claculo da potencia que deve ser o seguinte:

potenciação, com as opções:
- racional elevado a inteiro. P.ex. (1/3)2
- racional elevado a outro racional. P.ex. (1/3)1/4


Alguem tem alguma idéia de como fazer estas operações ou algum algoritmo??

Agradeço a ajuda


- racional elevado a inteiro. P.ex. (1/3)2
Código: Selecionar todos
  float a = 1/3;
  pow(a,2);

- racional elevado a outro racional. P.ex. (1/3)1/4
Código: Selecionar todos
  float a = 1/3;
  float b = 1/4;
  pow(a,b);



Até +....
Paulo D.
"Se o teu sonho for maior que ti, Alonga tuas asas, Esgarça os teus medos, Amplia o teu mundo, Dimensiona o infinito, E parte em busca da estrela... " (Trecho de Voa - Ivan Lins / Leda Selma)
Avatar do usuário
Paulo
Byte
 
Mensagens: 421
Registrado em: 07 Nov 2006 07:26

Mensagempor leafar_stdg » 20 Out 2008 11:18

Paulo,

obrigado pela resposta, mas usando a math.h e a função pow, vai me retornar um float e preciso que o retorno seja inteiro pra poder imprimir no formato a/b.

o esqueleto da função acredito que deva ser o seguinte:

.. potencia_de_potencia()
{
Escreva(Numerador da base);
Leia(Numerador da base);
Escreva(Denominador da base);
Leia(Denominador da base);
Escreva(Numerador do expoente);
Leia(Numerador do expoente);
Escreva(Denominador do expoente);
Leia(Denominador do expoente);

result = (** aqui entra o cálculo **)

// Resposta

Escreva(Numerador result)
Escreva(Denominador result)

}
leafar_stdg
Bit
 
Mensagens: 7
Registrado em: 16 Set 2008 12:18

Mensagempor Paulo » 20 Out 2008 13:41

leafar_stdg escreveu:Paulo,

obrigado pela resposta, mas usando a math.h e a função pow, vai me retornar um float e preciso que o retorno seja inteiro pra poder imprimir no formato a/b.

o esqueleto da função acredito que deva ser o seguinte:

.. potencia_de_potencia()
{
Escreva(Numerador da base);
Leia(Numerador da base);
Escreva(Denominador da base);
Leia(Denominador da base);
Escreva(Numerador do expoente);
Leia(Numerador do expoente);
Escreva(Denominador do expoente);
Leia(Denominador do expoente);

result = (** aqui entra o cálculo **)

// Resposta

Escreva(Numerador result)
Escreva(Denominador result)

}


Não sei se entendi mto bem o que vc quer, mas vamos lá:

Pegando o seu exemplo:

- racional elevado a inteiro. P.ex. (1/3)2

Código: Selecionar todos
  int a = 1;
  int b = 3;
  int c = 2;
  float d, e;
 
  d = pow(a,c);
  e = pow(b,c);
  printf("Resultado = %f/%f", d,e);


- racional elevado a outro racional. P.ex. (1/3)1/4

Código: Selecionar todos
  int a = 1;
  int b = 3;
  int c = 1;
  int d = 4;
  float e, f, g;
 
  e = pow(a,c);
  f = pow(a,d);

  g = pow(b,c);
  h = pow(b,d);

  printf("Resultado = %f/%f", (e/f), (g/h));



Seria isso???
Eu usei o seu exemplo, mas é claro que no lugar dos valores fixos bastaria substituir pelas entradas (leituras) que vc mencionou em cima.

Espero ter ajudado, caso não seja isso, coloque aí que vou tentar de ajudar de outra forma.

Até +...
Paulo D.
"Se o teu sonho for maior que ti, Alonga tuas asas, Esgarça os teus medos, Amplia o teu mundo, Dimensiona o infinito, E parte em busca da estrela... " (Trecho de Voa - Ivan Lins / Leda Selma)
Avatar do usuário
Paulo
Byte
 
Mensagens: 421
Registrado em: 07 Nov 2006 07:26

Mensagempor leafar_stdg » 20 Out 2008 13:56

Valeu pela força, Paulo.

Vou testar agora e assim q tiver resultado posto.
leafar_stdg
Bit
 
Mensagens: 7
Registrado em: 16 Set 2008 12:18


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x