Startfehler



  • 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;
    }
    


  • Und dein Programm dürfte in einer Endlos-Schleife verharren wenn anfangszahl >= endzahl



  • Die Schleife ab Zeile 19 ist kompletter Unsinn - je nach Eingaben hast du dort eine Endlosschleife (wenn ein ungültiges Intervall eingegeben wurde) oder sie wird sofort übersprungen.



  • #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) {
              printf("Zahlen zwischen den beiden Zahlen: ");
              }
    
         laufvariable = anfangszahl + 1;
    
         while(laufvariable < endzahl) {
                            printf("%i ", laufvariable);
                            laufvariable +=3;
                            }     
    
        system("PAUSE");
        return 0;
    }
    

    😃 ok, so aber jetzt 😛 kennt Ihr noch so änliche Aufgaben?



  • Immernoch Endlosschleife.
    Nix jetzt aber... 😃



  • Die Endlosschleife hast du immer noch (nur jetzt unter anderen Bedingungen), außerdem sollten die übrigen Werte nur ausgegeben werden, wenn die Eingaben gültig waren.

    PS: Nur damit du etwas zu tun hast: Gib nach Vorgabe zweier Zahlen alle Primzahlen dazwischen aus.



  • Ihr macht es einem aber auch echt nicht leicht 😃



  • #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");
        }
        else
        {
             laufvariable = anfangszahl + 1;
    
             while(laufvariable < endzahl)
             {
                  printf("%i ", laufvariable);
                  laufvariable +=3;
             }    
        }
        system("PAUSE");
        return 0;
    }
    


  • ouh man, hab ich wohl nur das else { } vergessen...-.-



  • #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);
    
        while (anfangszahl <= endzahl)/*while wird solange ausgeführt solange anfangszahl niedriger oder gleich endzahl ist*/ {
              printf("\n%i", anfangszahl);
              anfangszahl+=2;
              anfangszahl*anfangszahl;
              anfangszahl+1;
    
              }
    
        system("PAUSE");
        return 0;
    }
    

    mir fällt ja gerade auf, dass da ne 15 drinne steht, aber auch nur wegen der anfangszahl+=2; ... mom



  • Und while statt if geschrieben...

    Juhu mein 100. Beitrag!!!

    EDIT: Ging an vorletzten Beitrag.


Anmelden zum Antworten