Array mit for Schleife: falsche Ausgabe



  • Hallo,

    ich versuche gerade ein Array mit Zahlen zu füllen. Das ganze soll über eine For- Schleife laufen.

    Code lässt sich ausführen, aber es kommt ein komisches Ergebnis. Bei folgendem Code...:

    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    int main(int argc, char *argv[]) {
    
    const int size = 3;
    int arrgh[size];
    
    for (int i = 0; i < size; i++) {
       cout << arrgh[size];
    }
    
    		return 0;
    }
    

    ... kommen bei mir einfach 3 Nullen raus.

    Das ergibt irgendwie nicht groß Sinn. Hab erst gedacht, dass ich in der Ausgabe einen Fehler gemacht habe und habe das arrgh[size] mit arrgh[i] ersetzt, aber dann kommt das raus: 420004002....usw.. ergibt noch viel weniger Sinn.

    Vielleicht habt ihr eine Idee was das für ein Fehler ist, oder ob der Code einfach falsch ist. Ich find den Code jedenfalls logisch 😃

    Gruß
    Jeez



  • Welche Werte besitzt das Array in Zeile 10?


  • Mod

    Was würdest du denn erwarten?



  • Jeez schrieb:

    Ich find den Code jedenfalls logisch 😃

    Die Logik solltest du mal erklären.



  • manni66 schrieb:

    Die Logik solltest du mal erklären.

    Also:

    Die const "size" soll die Länge des Array darstellen, also wieviele Indizes es gibt.
    Dann initialisiere ich das Array und beziehe dann die Länge des Arrays aus size.
    Sollte ja so richtig sein.

    Dann sage ich er soll das Array einmal durchlaufen, wobei er beim letzten Index, hier der 3, aufhört. Also bei Index 0 eine 1 reinschreibt, bei Index 1 eine 2, usw.

    Und dann soll er das Array ausgeben, wobei i das Array ja gefüllt hat.

    SeppJ schrieb:

    Was würdest du denn erwarten?

    Dass die Werte 1,2,3 ausgegeben werden.

    Nathan schrieb:

    Welche Werte besitzt das Array in Zeile 10?

    mhh...gute Frage. Eigentlich ja gar keine. i hat da noch nix mit dem Array zu tun...

    Gut...ich probier mal weiter...danke schonmal für die Bemerkungen.



  • Hi,

    du musst auch erst einmal die Werte in das Array eintragen, damit er auch von 1 - 3 zählen kann:

    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    	const int size = 3;
    	int arrgh[size];
    
    	for(int i = 0; i < size; i++)
    	{
    		arrgh[i] = i + 1;
    		cout << arrgh[i] << "\n";
    	}
    
    	return 0;
    }
    

    Liebe Grüße



  • Jeez schrieb:

    Dann sage ich er soll das Array einmal durchlaufen, wobei er beim letzten Index, hier der 3, aufhört. Also bei Index 0 eine 1 reinschreibt, bei Index 1 eine 2, usw.

    Welche Zeile(n) in deinem Programm sollen das tun?



  • ...


Anmelden zum Antworten