Mehrdimensionales Array



  • silent_max schrieb:

    Weiß einer von euch einen Tipp wo der Fehler liegt????

    Wahrscheinlich hast du den Code nicht richtig übernommen (ich hoffe, du hast ihn kopiert, bei dir liest es sich so, als hättest du ihn selber abgetippt). Es sollte nämlich funktionieren, siehe hier



  • Sieh doch mal auf ideone. Da läuft alles Problemlos. 😕
    Ich habe alles noch mal auf meinem GCC 4.8 getestet und es läuft reibungslos.

    Oder ist mein Code tatsächlich IB/UB?



  • Tut mir leid aber Sone hat recht. Der erste von dir geposte Code funktioniert wirklich.
    Und bis zur Unendlichkeit?...

    for (int i=0; i<16; i++)
         for(int j=0; j<4; j++)
    

    Die innere Schleife wird 4 mal ausgeführt. Die äußere 16 mal. Kann nie Unendlich sein...

    gruß
    syntax



  • Versteht mich jetzt bitte nicht falsch ...

    Aber ist mein Code bzw. mein Gedankengang so grottenschlecht????????



  • Die Frage ist, was du erreichen willst (also ob es dir z.B. nur darum geht, mehrdimensionale Arrays zu benutzen).

    Das Problem an deinem Code ist, dass es nicht besser ist als zu schreiben

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "0000" << endl;
        cout << "0001" << endl;
        //usw., den Rest spare ich mir mal
    }
    

    Das wesentliche Problem ist, dass deine Lösung

    1. fehleranfällig
    2. schlecht erweiterbar

    ist, denn (Fehleranfälligkeit) du machst ganz schnell mal einen Tippfehler und (Erweiterbarkeit) wenn du morgen bis 1000 zählen willst, musst du in Sones Quellcode nur eine Zahl ändern, in deiner tippst du erstmal ca. eine halbe Stunde manuell die Zahlen ein, deren Berechnung der Computer dir abnehnmen könnte.

    Felix



  • Phoemuex schrieb:

    Die Frage ist, was du erreichen willst (also ob es dir z.B. nur darum geht, mehrdimensionale Arrays zu benutzen).

    Das Problem an deinem Code ist, dass es nicht besser ist als zu schreiben

    Ja, mir geht es nur darum, mehrdimensionale Arrays zu benutzen. Ansonsten hätte ich den Code nicht so aufgesetzt...

    Ich habe den Code auf Original zurück gesetzt.

    Bei der Ausgabe sieht es jetzt so aus:

    Array[0][2209]: 5316608
    Array[0][2210]: 1040384
    Array[0][2211]:
    

    Nach der letzten Zeile hängt sich das Programm auf und ich weiß nicht, wo der Fehler ist...

    Ich bin schier am verzweifeln...



  • Um deinen Gedankengang beurteilen zu können muss ich zuerst wissen, wie du denkst 😉
    Dein Code ist nicht grottenschlecht.
    Bitte poste per Copy und paste deinen Originalcode.

    gruß
    syntax



  • Habe ich ja getan per Copy und Paste



  • silent_max schrieb:

    Habe ich ja getan per Copy und Paste

    Ok, jetzt wird's Merkwürdig.

    Welchen Compiler benutzt du?



  • Sone schrieb:

    silent_max schrieb:

    Habe ich ja getan per Copy und Paste

    Ok, jetzt wird's Merkwürdig.

    Welchen Compiler benutzt du?

    hat er nicht. musste nicht nach dem compiler fragen. musst nur seinen geposteten quellcode angucken und siehst, dass es nicht sein kann...



  • Ich benutze Microsoft Visual Studio 2010 Ultimate...

    Zumindest habe ich den Code, den ich gepostet habe mit meinem Verglichen ... es ist ein und derselbe Code wie er auf meinem Netbook ist....

    Dafür, dass so "ein langes Leerzeichen" drinnen ist, kann ich nichts dafür ... wobei ich habe dem keine größere Aufmerksamkeit geschenkt´...



  • Allein diese Ausgabe

    Array[0][2209]: 5316608
    Array[0][2210]: 1040384
    Array[0][2211]:

    deckt sich nicht mit deinem geposteten Code!!! Heutzutage gibt es Email, USB-Sticks, mach davon bitte gebrauch. Du bringst doch auch nicht ein komplett anderes Auto in die Werkstatt, als das wo der Schaden vorhanden ist...

    Ich vermute mal einfach, dass du dich bei der for-Schleife vertippt hast und anstatt i z.B. j erhöhst, vergleichst initialisierst, was auch immer... Schau da nochmal genau hin. Anders kann eigentlich keine Endlosschleife entstehen.



  • Ich lauf gleich mit dem Kopf gegen die Wand ...

    Fragt mich nicht, wie ich es gemacht habe, dass auf meinem Netbook in der zweiten for - Schleife es wie folgt hieß

    i<4
    

    Alter ... zwei Stunden umsonst rausgeschmissen ... wobei umsonst war es nicht ... ich bin wenigstens dank euch darauf gekommen, wo der Fehler war.

    Also euch nochmal danke...

    Und eine gute Nacht.

    Gruß

    Max



  • silent_max schrieb:

    Ich lauf gleich mit dem Kopf gegen die Wand ...

    Fragt mich nicht, wie ich es gemacht habe, dass auf meinem Netbook in der zweiten for - Schleife es wie folgt hieß

    i<4
    

    Alter ... zwei Stunden umsonst rausgeschmissen ... wobei umsonst war es nicht ... ich bin wenigstens dank euch darauf gekommen, wo der Fehler war.

    Also euch nochmal danke...

    Und eine gute Nacht.

    Gruß

    Max

    jetzt zähl mal, wie oft hier jmd "copy&paste" geschrieben hat...



  • silent_max schrieb:

    Hallo liebe Gemeinde.

    Ich hatte vor, ein Programm zu schreiben, das mir binär von 0 bis 15 zählt.

    :::

    Ich wollte das über einen zweidimensionalen Array machen und habe folgenden Quellcode aufgesetzt:

    Aber dafür brauchst du doch kein "mehrdimensionales Array".

    Zähl doch einfach ganz normal bis 15 und gib die Zahl binär aus ... oder merke dir die 4 bits in einem 4-elementigen array und implementiere das Inkrementieren der Binärdarstellung selbst. Das kannst du dann solange wiederholen, bis es einen Überlauf gibt.


Anmelden zum Antworten