Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: eduardo17445 en 4 Abril 2013, 00:02 am



Título: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: eduardo17445 en 4 Abril 2013, 00:02 am


 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;
}
   


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: Almapa en 4 Abril 2013, 00:33 am
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.


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: eduardo17445 en 4 Abril 2013, 00:39 am
no se m parecio que lo llevava ¿no es nesesario?


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: Almapa en 4 Abril 2013, 00:51 am
no se m parecio que lo llevava ¿no es nesesario?

A qué te refieres?


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: eduardo17445 en 4 Abril 2013, 01:06 am
no nada otra cosa como es la sintaxis para ponerer el nombre de la funcion en el main q no recuerdo


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: Almapa en 4 Abril 2013, 01:13 am
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.


Título: Re: diganme como esta este programa lo hice en dev c++ pero creo q m falta algo
Publicado por: eduardo17445 en 4 Abril 2013, 01:24 am
ah ok gracias osea esta bien