NWD metodą Euklidesa - gdzie jest błąd

miałem na zadanko zrobić program obliczający NWD metodą Euklidesa i napisałem lecz microsoft wywala mi błąd bardzo proszę o sprawdzenie tego :wink:

#include 

#include 

using namespace std;

//NWD

int main()

{

    int x,y;

    cout<< "Wpisz x\n";

    cin>>x;

    cout<<"Wpisz y\n";

    cin>>y;

    while (x!=0||y!=0)

    {

        if(x>y)

        {

            x=x%y;

        }

        else

        {

            y=y%x;

        }        

    }

    if(x==0)

        {

            cout<< endl<
        }

        else

        {

            cout<
        }    

    system ("Pause");

    return 0;

}

błąd masz w warunku pętli while

powinno być

while(x!=0&&y!=0)

wówczas gdzy jedna ze zmiennych będzie miała wartość zero warunek będzie nie prawdziwy i pętla się zakończy.

teraz masz tak, że obie zmienne muszą mieć wartość zero żeby wyjść z pętli.

aha, no fakt, wielkie dzięki