Startfehler



  • die aufgabenstelltung verlangt es so, was ich vorhin vergessen habe zu posten 😛 und ich weiß weder wo der unterscheid zwischen ner for und ner while-schleife liegt 😃



  • Technisch gesehen kannst du alle Schleifen ineinander umwandeln, praktisch ist eine for-Schleife normalerweise kompakter zu schreiben (gerade wenn du ihre Möglichkeiten voll ausnutzt). Aber auch mit einer while-Schleife ist die Aufgabe nicht wirklich schwierig (zumindest aus Sicht eines Experten :D) - ich bin mir nur nicht 100% sicher, was mit "jede dritte Zahl" gemeint ist.



  • Eingabe der Anfangszahl: 1

    Eingabe der Endzahl: 15

    Zahlen zwischen den beiden Zahlen: 2 5 8 11 14 (jede 3. zahl)

    In der Musterlösung sieht das am Anfang der while schleife so aus:

    while (anfang >= ende);

    aber warum >= ?



  • die zwei ist aber nicht die dritte, sondern die erste zwischen 1 und 15
    :p



  • Und warum nicht "1 4 7 ..."?



  • 😃 ka warum da ne 2 steht 😃 fragt den computer 😃 so sieht halt die lösung aus 😃



  • tolle aufgabe, nächste aufgabe 😃



  • CStoll schrieb:

    Und warum nicht "1 4 7 ..."?

    ist die 1 zwischen 1 und 15?
    😃



  • 😃 haha 😃

    ja klar ist die 1 dazwischen 😃 aber es soll doch jede 3. zahl ausgegeben werden



  • Windassel schrieb:

    😃 haha 😃

    ja klar ist die 1 dazwischen 😃 aber es soll doch jede 3. zahl ausgegeben werden

    kommt drauf an, wie du zwischen interpretierst. wenn man sagt: der typ steht zwischen tür und angel, ist der typ dann auch die tür?
    😕



  • Big Brother schrieb:

    CStoll schrieb:

    Und warum nicht "1 4 7 ..."?

    ist die 1 zwischen 1 und 15?
    😃

    Kommt ganz darauf an, wie man "zwischen" definiert - SQL's between 1 and 15 würde die 1 mitliefern. (andererseits könnte man die Aufgabe auch so interpretieren, daß die Folge "4 7 10 13" herauskommen sollte.



  • 😃 darum geht´s doch jetzt garnicht 😃

    warum sieht der anfang von der while schleife so aus?

    while (anfang >= ende);

    das >= versteh ich net...



  • Von welcher while-Schleife redest du denn jetzt? Ich hätte eher ein <= verwendet (oder <, je nach Definition von "zwischen" :D) - und das Semikolon stört mich auch ein wenig.



  • CStoll schrieb:

    Big Brother schrieb:

    CStoll schrieb:

    Und warum nicht "1 4 7 ..."?

    ist die 1 zwischen 1 und 15?
    😃

    Kommt ganz darauf an, wie man "zwischen" definiert - SQL's between 1 and 15 würde die 1 mitliefern. (andererseits könnte man die Aufgabe auch so interpretieren, daß die Folge "4 7 10 13" herauskommen sollte.

    seh ich auch so. 3, 6, 9, 12 wäre auch denkbar.

    Windassel schrieb:

    😃 darum geht´s doch jetzt garnicht 😃

    warum sieht der anfang von der while schleife so aus?

    while (anfang >= ende);

    das >= versteh ich net...

    du meinst wohl eher

    while ( anfang < ende )
    

    von mir aus auch

    while ( anfang <= ende )
    

    je nachdem wie du zwischen interpretierst 😃

    <= bedeutet kleiner oder gleich

    = bedeutet größer oder gleich



  • das ist doch imprinzip völlig egal ob <= oder >=



  • Windassel schrieb:

    das ist doch imprinzip völlig egal ob <= oder >=

    Naja... Kommt drauf an wie du diesen Satz meinst.



  • Jonas OSDever schrieb:

    Windassel schrieb:

    das ist doch imprinzip völlig egal ob <= oder >=

    Naja... Kommt drauf an wie du diesen Satz meinst.

    ROFL
    im prinzip ja.



  • Windassel schrieb:

    das ist doch imprinzip völlig egal ob <= oder >=

    wenn die aufgabe z.b. falsch gelöst werden darf, dann ist das egal, ja, völlig egal.
    🙂



  • einen hab ich noch, bevor ich joggen tu:

    Windassel schrieb:

    das ist doch imprinzip völlig egal ob <= oder >=

    gib doch mal alle zahlen aus der menge von 1 bis 5 an, für die gilt:
    zahl <= 2
    und gib alle zahlen aus der gleichen menge an, für die gilt
    zahl >= 2
    ist egal, ne? magst recht haben aber es sind nicht die selben. :p



  • Joa, aufgabe mit Hilfe der Musterlösung gelö0t 😞

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
        int anfangszahl, endzahl, laufvariable;
    
        printf("Eingabe der Anfangszahl: ");
        scanf("%i", &anfangszahl);
        printf("Eingabe der Endzahl: ");
        scanf("%i", &endzahl);
    
        if (anfangszahl >= endzahl) {
                        printf("Die Anfangszahl muss kleiner als die Endzahl sein. Bitte versuche es erneut\n\n");
                        }
    
        while (anfangszahl >= endzahl) { /*Bis hier hin bin ich alleine gekommen! :D*/
              printf("Zahlen zwischen den beiden Zahlen: ");
              }
    
         laufvariable = anfangszahl + 1;
    
         while(laufvariable < endzahl) {
                            printf("%i ", laufvariable);
                            laufvariable +=3;
                            }     
    
        system("PAUSE");
        return 0;
    }
    

Anmelden zum Antworten