diganme como esta este programa lo hice en dev c++ pero creo q m falta algo

Iniciado por eduardo17445, 4 Abril 2013, 00:02 AM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445



Calcula el Máximo Común Divisor (MCD) de dos números leídos por teclado utilizando una función sigprimo(num,comienzo) que devuelva el siguiente divisor primo de num mayor que comienzo.



#include <iostream>
#include <conio.h>
using namespace std;
int MCD(int num1,int num2)
{
  int t,i=2,mcd=1;
   cout<< "introduzca numero n";
  cin>>num1;
  cout<<"introduzca numero n";
  cin>>num2;
if (num1>num2)
{
t=num1;
num1=num2;
num2=t;
}
do{
if (num1%i==0 && num2%i==0)
{
mcd=mcd*i;
num1=num1/i;
num2=num2/i;
i=2;
}
else
i++;
}while(i<=num1);
return i;
return t;
}
int main()
{
     int op,num1,num2,i,t;
     cout<<"introduzca la opcion 1";
     cin>>op;
     if(op==1)
     {
     cout<< "introduzca numero n";
     cin>>num1;
     cout<<"introduzca numero n";
     cin>>num2;
     cout<<""<<t<<endl;
     }
     system ("pause");
     return 0;
}
   

Almapa

A ver no entiendo mucho el código, has declarado una función llamada MCD a la que después no llamas en ningún momento dentro de la función main que aplicará el programa de primeras.

La línea "cout<<"introduzca la opcion 1"; "  que objetivo tiene?

Por otra parte pides dos veces los números, una vez en la función main y después en la función MCD. Por los parámetros de entrada que le has puesto a la función declarada intuyo que las entradas que sobran son las que están en la función MCD.

La función MCD está bien implementada para que te de el número primo máximo divisor de ambos números insertados aunque el valor de retorno pondría solo la variable "i" pues la variable "t" es una variable insertada por el mismo usuario del programa, exactamente el número más grande de los insertados.

Un saludo.

eduardo17445


Almapa

Cita de: carrlos en  4 Abril 2013, 00:39 AM
no se m parecio que lo llevava ¿no es nesesario?

A qué te refieres?

eduardo17445

no nada otra cosa como es la sintaxis para ponerer el nombre de la funcion en el main q no recuerdo

Almapa

En la función main yo había puesto las dos peticiones de ambos números para el cálculo y luego ya llamas a tu función MCD tal y como la has definido:

i=MCD(num1,num2)

Siendo num1 y num2 los dos números insertados por el usuario y la variable i el número máximo divisor primo.