El ejercicio es el siguiente:
tengo que escribir un programa que llame a una funcion MCD que realice el maximo comun divisor, el codigo que he escrito es el siguiente:
#include <stdio.h>
#include <stdlib.h>
int MCD(Numero1,Numero2)
{
int PosDivi=1,MaxCD=0,PosDivj;
while(PosDivi<=Numero1)
{
if((Numero1%PosDivi)==0)
{
PosDivj=1;
while(PosDivj<=Numero2)
{
if(((Numero2%PosDivj)==0)&&(PosDivi==PosDivj))
{
MaxCD=PosDivi;
}
PosDivj++;
printf("a");
}
printf("b");
}
PosDivi++;
}
return MaxCD;
}
int main()
{
int Divisor1, Divisor2;
printf("introduce los divisores\n");
scanf("%d,%d",&Divisor1,&Divisor2);
printf("MCD=%d",MCD(Divisor1,Divisor2));
return 0;
}
Intento que compare cada uno de los divisores de un numero con todos los divisores del otro, los 'printf' con a y b son para ver si el programa pasaba por los bucles y con ellos he descubierto que no lee el bucle while en el que se calculan los divisores de 'Numero2' asi que supongo que el problema estara ahi.
Un saludo y gracias de antemano
PD: En el build log me aparece el siguente mensaje:
-------------- Run: Debug in d (compiler: GNU GCC Compiler)---------------
Checking for existence: C:\Users\PEDRO\Desktop\d\bin\Debug\d.exe
Executing: "C:\Program Files\CodeBlocks/cb_console_runner.exe" "C:\Users\PEDRO\Desktop\d\bin\Debug\d.exe" (in C:\Users\PEDRO\Desktop\d\.)
Process terminated with status 0 (0 minute(s), 7 second(s))