Einsteiger benötigt Hilfe !



  • Hi,
    hab ein paar Fragen zu einem kleine Programm was ich für die Uni schreiben muß

    ich habe ein Feld von 10 Zahlen bestehend aus 3,2,1 willkürlich angeordnet:

    Beispiel: 3 2 3 1 2 3 1 1 2 3

    Ich will jetzt diese Feld durchlaufen und es soll immer geprüft werden welche Zahl als nächstes kommt, da damit eine Anweisung verknüpft werden soll!

    D.h. "Wenn auf 2 eine 3 kommt dann tue das....und wenn dann eine 2 kommt tue dies...

    Wie kann ich das in C++ ausdrücken ??

    Für rasche Antwort wäre ich sehr dankbar, muß das nämlich abgeben!

    Danke und Gruß
    Neo



  • Hallo

    Du könnstest das Fedl mittels einer Schleife durchlaufen:

    for(int i=0; i> Grösse_des_Feldes; i++)
    

    dann schreibt du die Zahl in eine Variable und schaust dir die nächste Zahl an.

    Ich hoffe, dass ich dich richtig verstanden habe.

    chrische



  • Wenn ich dich richtig verstanden habe dann würde ich es so machen:

    for(int i=0; i<10; i++)
    {
      if(array[i] == 1)
       {
         // mach etwas
       }
      else if(array[i] == 2)
       {
         // mach was anderes
       }
      else if(array[i] == 3)
       {
         // mach wieder was anderes
       }
    }
    


  • Hallo,

    obiges Programm muß wohl ergänzt werden:

    for(int i=0; i<10; i++) 
    { 
      if(array[i] == 1 && array[i+1] == 2 ) 
       { 
         // mach etwas 
       } 
      else if(array[i] == 2 && array[i+1] == 1 ) 
       { 
         // mach was anderes 
       } 
      else if(array[i] == 3 && array[i+1] == 2 ) 
       { 
         // mach wieder was anderes 
       } 
    }
    

    Gruß Rudi



  • rudiS schrieb:

    Hallo,

    obiges Programm muß wohl ergänzt werden:

    for(int i=0; i<10; i++) 
    { 
      if(array[i] == 1 && array[i+1] == 2 ) 
       { 
         // mach etwas 
       } 
      else if(array[i] == 2 && array[i+1] == 1 ) 
       { 
         // mach was anderes 
       } 
      else if(array[i] == 3 && array[i+1] == 2 ) 
       { 
         // mach wieder was anderes 
       } 
    }
    

    Gruß Rudi

    Und was ist wenn im array z.B. zwei mal die 1 (also 3 1 1 2) steht, dann ist doch z.B.

    if(array[i] == 1 && array[i+1] == 2 )
    

    nicht erfüllt oder?



  • rudiS schrieb:

    Hallo,

    obiges Programm muß wohl ergänzt werden:

    for(int i=0; i<10; i++) 
    { 
      if(array[i] == 1 && array[i+1] == 2 ) 
       { 
         // mach etwas 
       } 
      else if(array[i] == 2 && array[i+1] == 1 ) 
       { 
         // mach was anderes 
       } 
      else if(array[i] == 3 && array[i+1] == 2 ) 
       { 
         // mach wieder was anderes 
       } 
    }
    

    Ist dir bewusst, dass du damit auf Array-Elemente zugreifen willst, die gar nicht existieren?



  • @EEK: Die Bedingung wird im 3. Schleifendurchlauf erfüllt

    -predator- aht vollkommen recht.Lass in der for-Schleife i nur bis i<9 laufen, sonst bekommst du richtig hässliche Probleme, die man manchmal nur sehr schwer findet. Weil wenn i=8 ist greifst du ja schon auf das letzte Feldelement zu. Und wenn i=9 ist greifst du auf ein Feldelement zu das hinter dem array liegt.

    MfG Jaschi



  • Hallo Leute,

    ich gestehe alles und gelobe Besserung. War vielleicht wirklich keine gute Idee einem Neuling nur ein Konzept vorzugeben. Wahrscheinlich wäre er wirklich in die Falle getappt.

    Gruß Rudi 😮


Anmelden zum Antworten