KLeines Problem mit Matrizen in C

  • Hi Leute, bin C-Anfänger und will ein mehrdimensionales Array 3x4 Werte eigeben können, und zwar zeilenweise. Das ganze soll danach einfach wieder ausgegeben werden.


    Hier erstmal mein bisheriger Code:



    Die Eingabe funktioniert problemlos, nur die Ausgabe macht Probleme!


    Wenn ich
    1 2 3 4
    4 5 6 7
    2 4 3 4


    eingebe, wird das umgekehrte ausgegeben:
    4 3 2 1
    7 6 5 4
    4 3 4 2


    Vllt sieht ja jemand den Fehler, ich find ihn einfach nicht!


    Danke schonmal im vorraus


    CU:D

  • Re: KLeines Problem mit Matrizen in C


    Zitat

    Original geschrieben von Flash_Prince
    Die Eingabe funktioniert problemlos, nur die Ausgabe macht Probleme!


    Nope, Dein Problem dürfte eben doch die Eingabe sein (siehe ThomasKs Anmerkung). So sollte es dann klappen:

    Code
    for (i = 0; i < ZEILEN; i++)
    {
    printf ("Zeile %d: ", i);
    scanf ("%d %d %d %d",&mat[i][0],&mat[i][1],&mat[i][2],&mat[i][3]);
    }


    Übrigens: Das Verwenden von Konstanten nützt goanix, wenn man dann in die Eingabeaufforderung wieder die Zahlen hart reincoded ;)


    Gruß,


    Henning.

    ________________________

  • Re: Re: KLeines Problem mit Matrizen in C


    Zitat

    Original geschrieben von XNeo
    So sollte es dann klappen:

    Code
    for (i = 0; i < ZEILEN; i++)
    {
    for (j = 0; j < SPALTEN; j += SPALTEN)
    {
    printf ("Zeile :");
    scanf ("%d %d %d %d",&mat[i][j],&mat[i][j+1],&mat[i][j+2],&mat[i][j+3]);
    }
    }


    Übrigens: Das Verwenden von Konstanten nützt goanix, wenn man dann in die Eingabeaufforderung wieder die Zahlen hart reincoded ;)


    Gruß,


    Beim ersten Ansehen des Codes ist es mir auch nicht aufgefallen. :D
    Aber: Hier stehen zwei Schleifen, die mit i und die mit j. Und in der inneren Schleife steht eine Eingabeaufforderung mit 4 (!) Argumenten.
    Was soll das sein? Eine 3D-Matrix? :D
    Bei der Ausgabe steht ja auch richtigerweise in der inneren Schleife nur noch das Printen EINER Zahl. Oder habe ich jetzt einen Sehfehler, weil es schon spät ist?


    Viele Grüße
    Thomas

  • Re: Re: Re: KLeines Problem mit Matrizen in C


    Zitat

    Original geschrieben von ThomasK
    Bei der Ausgabe steht ja auch richtigerweise in der inneren Schleife nur noch das Printen EINER Zahl. Oder habe ich jetzt einen Sehfehler, weil es schon spät ist?

    Nein, du hast natürlich recht. Ich hab's behoben (hoffe ich -- denn inzwischen ist es ja noch später :D)...


    Gruß,


    Henning.

    ________________________

  • Was funktioniert denn nicht?

    Hast du wieder die gleiche Ausgabe? Kann nicht sein, wenn du den verbesserten Code genommen hast muss es funktionieren!
    Du musst doch einfach nur die for i-Schleife aus dem Posting von XNeo statt deinen for i,j-Schleifen in eingabe(mat) ersetzen.



    BTW: Falls du dich dann mal mehr mit C beschäftigt hast, kannst du die Eingabe des Benutzers in einem String ( Array aus char) speichern, danach analysieren und die Zahlen dann in deiner Matrix speichern. So wie du es jetzt hast, muss der User ja immer 4 Spalten eingeben, könnte ja auch mal mehr benötigen. Oder ist das beabsichtigt?

    r=3,16 km


    prepaidinfo.de Prepaidtarife, Roamingpreise, Preise und Einstellungen für MMS und WAP, Übernahmeformulare

  • Hoppla, SORRY, Fehler meinerseits.


    Funzt doch wunderbar. DANKESCHÖN!!!!


    chrisch
    Das war von unserem Dozenten so verlangt.
    Das mit den strings haben wir noch nicht so ausführlich gemacht

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!