C++ obliczanie NWD dwóch liczb

Spróbowałem napisać program w C++ obliczający NWD z dwóch liczb za pomocą algorytmu Euklidesa.

Kompilator nie wyświetla błędu, ale po wpisaniu dwóch liczb wyświetla się: “NWD wynosi:” i tyle.

Gdzie może leżeć błąd?

Kompilator: Dev C++ 4.9.9.2

#include 

#include 

#include 


using namespace std;


int main()

{

 unsigned int a,b;


 printf("Podaj pierwsza liczbe: ");

 scanf("%d", &a);

 printf("\n");


 printf("Podaj druga liczbe: ");

 scanf("%d", &b);

 printf("\n");


 do 

 {

  if(a>b) a=a-b;

  else b=b-a;            

 }

 while(a!=b);


 printf("NWD wynosi:", a );


 system("pause");

 return 0;

}
printf("NWD wynosi: %d", a );

Wielkie dzięki :smiley: