/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

suma de numeros entrecortados

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
hansolo



Registrado: 04 Oct 2004
Mensajes: 16

MensajePublicado: 26/10/2004 5:51 am
Título: suma de numeros entrecortados

No funciona

Tengo algunos problemas con funciones y acciones

No se como solucionarlo 8O

Gracias

/* Suma- cortados*/

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1, num2, den1,den2,divisor,m,resultat,d;

num1=scanf("%d",&num1);
den1=scanf("%d",&den1);
num2=scanf("%d",&num2);
void simplifica(float a,float b);
/*se tiene que declarar aqui la función*/


while (num2!=0)
{
den2=scanf("%d",&den2);
num1=num1*den2+num2*den1;
den1=den1*den2;
simplifica(num1,den1);
num2=scanf("%d",&num2);
}
printf("%d",num1);
printf(" ");
printf("%d",num1);
}
/*acción*/
void simplifica(float a,float b)
{
divisor=mcd(a,b); /* linia 1*/
a=(a / divisor); /* linia 2*/
b=(b / divisor); /* linia 3*/

}
/*funcion*/
mcd (int a, int b):int
/*se pueden definir varibles dentro de una funcioó*/
if(a < b)
{ m=a;
{else
m=b;
}
}
resultat=1;
d=2;
while (d <= m)
{
if ((a mod d=0) && (b mod d =0))
{
m=(m/d);
a=(a/d);
b=(b/d);
resultat=(resultat*d);
{else
d=d+1;
}
}
return (resultat);
}



Otra opción es como simplificar, eliminando la linia 1, 2, 3
Volver arriba
hansolo



Registrado: 04 Oct 2004
Mensajes: 16

MensajePublicado: 26/10/2004 1:22 pm
Título:

Perdonar, me referia que este programa debe sumar quebrados, no cambie el titulo

lo siento Embarassed
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 27/10/2004 7:38 am
Título:

Código:
#include <stdio.h>
#include <stdlib.h>

int mcd(int a, int b);

int main(void){
   
   int num1 = 0, num2 = 0, den1 = 0, den2 = 0;
   int num, den;
   
   do{
      puts("Introduzca numeros a sumar, por ejemplo 5/20 2/8:");
      fflush(stdin);
      scanf("%d/%d %d/%d", &num1, &den1, &num2, &den2);
   }while ((den1 == 0) || (den2 == 0));
   
   den = den1 * (den2 / mcd(den1, den2));
   num = (num1 * (den/den1)) + (num2 * (den/den2));
   printf("%d/%d + %d/%d = %d/%d", num1, den1, num2, den2, num, den);
   if (mcd(num, den) != 1)
      printf(" = %d/%d\n", num/mcd(num, den), den/mcd(num, den));
   
   return EXIT_SUCCESS;
}

int mcd(int a, int b){
   
   int temp;
   
   while (b != 0)
      temp = a%b, a = b, b = temp;
   
   return (a < 0) ? -a : a;
}


Un saludo
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com