Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - telecocabreado21

#1
Soy nuevo en esto de programar asi que es posible que sea una estupidez, pero no la veo. Asi que si sabeis cual es el problema por favor decidmelo.
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 ;D ;D

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))