Größter gemeinsamer teiler - Programm schreiben -



  • int main()
    {
    int x,y;
    int auswahl;

    cout << "----------------------------------------------" <<endl;
    cout << " Geben Sie die Erste Zahl ein " <<endl;
    cin >> x;
    cout << "----------------------------------------------" <<endl;
    cout << " Geben Sie die Zweite Zahl ein " <<endl;
    cin >> y;
    cout << " Danke Fuer die Eingaben der Zahlen" <<x <<"und" <<y <<endl;

    if(x>y)
    {
    int zahl,i;
    zahl=y ;
    for ( i=zahl; x%zahl==0 && y%zahl==0 ;i--);
    cout << " Der Größte Gemeinsame Teiler ist" <<" "<< i <<endl;
    system("pause");

    }
    }

    Das Programm funktioniert irgendwie nich richtig, da ich immer eine falsche Zahl rausbekomme!



  • laufbedingung, nicht abbruchbedingung.

    for solange wie
    nicht
    for solange bis



  • Sobald beides überenstimmen, habe Ich doch den GGT und dann soll er die Zahl ausgeben!

    Er soll solange die Schleife laufen lassen bis das übereinstimmt!



  • mij schrieb:

    Sobald beides überenstimmen, habe Ich doch den GGT und dann soll er die Zahl ausgeben!
    Er soll solange die Schleife laufen lassen bis das übereinstimmt!

    aber c++ kennt nur "solange wie".
    du hast geschrieben "solange wie das übereinstimmt".



  • Blick da irgendwie gar nicht durch...

    kannst du mir n tip geben für die For Schleife



  • mij schrieb:

    Blick da irgendwie gar nicht durch...

    kannst du mir n tip geben für die For Schleife

    for ( i=zahl; !( x%zahl==0 && y%zahl==0) ;i--);
    

    oder (de Morgan)

    for ( i=zahl; x%zahl!=0 || y%zahl!=0 ;i--);
    


  • hi,

    Danke für die Antwort!

    Habe es so eingegeben(habs auch verstanden), aber irgendwie hängt er sich auf und gibt mir keine Zahl!



  • for ( i=zahl; x%i!=0 || y%i!=0 ;i--);
    


  • Oh man

    Ich dank dir vielmals.

    das ich das selbst nicht gesehen habe!


Log in to reply