Array-Werte vergleichen



  • Moin !

    Ich habe folgendes kleines Programm geschrieben:

    #include <iostream.h>

    void main (void)
    {

    int zahlenarray[2];
    int i=0;

    for (i=0;i<2;i++)
    cin>>zahlenarray[i];

    if (zahlenarray[i]>zahlenarray[i+1])
    cout<<"der erste Array-Wert des arrays ist groesser"<<endl;

    else
    cout<<"der zweite Array-Wert ist groesser"<<endl;

    }

    Also, durch das Programm sollen einfach zwei Zahlen in ein Array eingelesen werden.
    Diese zwei Array-Werte werden verglichen.Ihr seht ja was dann je nach Situation passieren soll.Aber egal was ich eingebe es wird immer "der zweite Wert ist größer" ausgegeben.Kann mir jemand sagen, was ich falsch gemacht habe?

    Ich weiß, das ich zwei Zahlen auch auf einfachere Weise vergleichen kann.Ich bin aber gerade dabei C++ zu lernen und mir geht es darum die Array-Problematik zu checken.Oder habe ich sogar schon bei der Schleifenanweisung gepatzt?

    Danke und Grüße.



  • denk mal drüber nach:

    if (zahlenarray[i]>zahlenarray[i+1])
    

    Welchen Wert hat hier `i`? 🙂

    btw. iostream.h ist veraltet und man nimmt int main und nicht void main!

    und sfds



  • if (zahlenarray[i]>zahlenarray[i+1]) 
    cout<<"der erste Array-Wert des arrays ist groesser"<<endl;
    

    Diese Anweisung steht außerhalb der for-Schleife. Das heißt es wird zahlenarray[2] mit zahlenarray[3] verglichen, da "i" am Ende der Schleife zwei ist. Kannst du statt dem "i" nicht einfach feste Zahlen einsetzen, z.B. 0 und 1?


Anmelden zum Antworten