while & if?



  • kann mir auch einer ein paar übungsaufgaben für die while schleife und die if abfrage geben? wäre echt nett 🙂



  • Vielleicht dies hier

    Gegeben sind drei ganze positive Zahlen a, b und c.

    Sotieren sie sie mit geeigneten if-Abfragen so, dass gilt
    a > b > c.



  • also soll ich drei zahlen eingeben und die dann nach der grösse sortieren oder wie meinst du das?



  • Genau so.



  • aso.. dann probier ich anfänger das mal. mal gucken obs klappt

    eine frage kann man das so schreiben?

    if(zahl1>zahl2&&zahl1>zahl3)
    ...



  • Man kann es so schreiben, ja.

    Ob es die optimalste Lösung zur Aufgabe ist, lasse ich mal im Raum stehen.



  • was ist denn die optimale lösung?



  • Das wäre nicht sinn der Aufgabe, gleich die Lösung hinterher zu schicken, probier einfach mal ein bißchen rum.



  • also ich hab das so geamcht:

    #include<iostream.h>
    #include<conio.h>

    void groesstezahl(void)
    {
    int zahl1,zahl2,zahl3;
    int i;

    cout<<"Geben Sie die erste Zahle ein: ";
    cin>>zahl1;
    cout<<"Geben Sie die zweite Zahle ein: ";
    cin>>zahl2;
    cout<<"Geben Sie die dritte Zahl ein: ";
    cin>>zahl3;

    if(zahl1>zahl2&&zahl1>zahl3)
    {
    cout<<zahl1;
    i++;
    }
    if(zahl2>zahl1&&zahl2>zahl3)
    {
    cout<<zahl2;
    i++;
    }
    if(zahl3>zahl1&&zahl3>zahl2)
    {
    cout<<zahl3;
    i++;
    }
    }

    void main(void)
    {
    clrscr();
    groesstezahl();
    getch();
    }

    eine frage noch, wie kann ich diesen kasten für den quellcode machen?



  • Zum Quellcodekasten:

    Unter den Smileys, wenn du einen Beitrag schreibst, steht irgendwo links oben
    "C/C++". Daruf klicken. Dann Code einfügen. Ein weiteres mal auf "C/C++" klicken. Fertig. Bsp:

    #include<iostream.h> 
    #include<conio.h> 
    
    void groesstezahl(void) 
    { 
    int zahl1,zahl2,zahl3; 
    int i; 
    
    cout<<"Geben Sie die erste Zahle ein: "; 
    cin>>zahl1; 
    cout<<"Geben Sie die zweite Zahle ein: "; 
    cin>>zahl2; 
    cout<<"Geben Sie die dritte Zahl ein: "; 
    cin>>zahl3; 
    
    if(zahl1>zahl2&&zahl1>zahl3) 
    { 
    cout<<zahl1; 
    i++; 
    } 
    if(zahl2>zahl1&&zahl2>zahl3) 
    { 
    cout<<zahl2; 
    i++; 
    } 
    if(zahl3>zahl1&&zahl3>zahl2) 
    { 
    cout<<zahl3; 
    i++; 
    } 
    } 
    
    void main(void) 
    { 
    clrscr(); 
    groesstezahl(); 
    getch(); 
    }
    

    [EDIT]
    Hast du das Programm schon ausprobiert? Ich habe z.Z. keine Zeit dazu, es zu studieren.
    [/EDIT]

    [EDIT2] Rechtschreibfehler korrigiert [/EDIT2]



  • das programm läuft



  • Aber es macht nicht das, was es soll. Wenn ich eintippe:

    Zahl1 = 35
    Zahl2 = 20
    Zahl3 = 400
    

    Dann gibt er mir nur die letzte Zahl aus. Das Programm soll diese eingegebenen
    Zahlen sortieren und dann sortiert ausgeben. Also das gilt:

    Zahl1 > Zahl2 > Zahl3

    (Vielleicht habe ich mich mit der Aufgabenstellung zu undeutlich ausgedrückt).
    Dein Programm vergleicht diese Zahlen nur und gibt die Zahlen einfach aus,
    ohne sie zu sortieren. Schau dir das Programm nocheinmal an.

    Ich hoffe, ich konnte helfen.


Anmelden zum Antworten