Problem mit Programm, Thema 2-dimensionale Felder

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit Programm, Thema 2-dimensionale Felder

    nabend,

    ich bin Student der Elektrotechnik und bin daher dabei C zu erlernen.

    Unser Dozent orientiert sich dabei an einem Skript.
    Momentan behandeln wir Felder und Zeiger.
    Im Skript sind immer wieder Beispielprogramme, unter anderem das folgende, mit dem ich und ein Kommilitone ein Problem haben.

    Quellcode

    1. #include <stdio.h>
    2. #define dim1 = 3
    3. #define dim2 = 4
    4. void f_m (short feld [dim1][dim2], short, short, short); /*Prototyp*/
    5. int main (void) /* Hauptprogramm */
    6. {
    7. {
    8. short i, j, z, s, ok, wert=0;
    9. short feld [dim1] [dim2] /* 2-dimensionale Feldinitialisierung */
    10. {
    11. {10, 20, 30, 40}
    12. {100, 200, 300, 400}
    13. {1000, 2000, 3000, 4000}
    14. };
    15. do
    16. {
    17. printf ("\n\n feld [%2hd] [%2hd]:",dim1, dim2);
    18. for (j = 0; j < dim1; j++) /* Ausgabe der dim2 Elemente einer Zeile */
    19. {
    20. printf ("\n");
    21. for (i=0 ; i<dim2 ; i++)
    22. printf ("%4hd", feld [j][i]);
    23. }
    24. printf ("\n\n An welcher Stelle [z] [s] soll feld mit \'wert\' ueberschrieben werden?\n z s wert: ?\n");
    25. fflush (stdin); /* Tastaturpuffer loeschen */
    26. ok = scanf ("%hd %hd %hd", &z, &s, &wert);
    27. f_m (feld, z, s, wert); /* Funktionsaufruf, feld [z] [s] enthaelt nun wert */
    28. printf ("\n\n geaendert: feld [z = %2hd][s = %2hd] = %hd",z, s, wert);
    29. for (j=0; j<dim1; j++) /* Ausgabe aller dim1 Zeilen */
    30. {
    31. printf ("\n");
    32. for (i=0; i<dim2; i++) printf ("%4hd", feld [j] [i]);
    33. /* Ausgabe der DIM2 Elemente einer Zeile */
    34. }
    35. } while (ok == 3);
    36. return 0;
    37. }
    38. void f_m ( short donald_duck [] [dim2], short goofey, short daisy, short mickey );
    39. { donald_duck [goofey][daisy]=mickey; } /* Feldplatz donald_duck [goofey][daisy] wird mit mickey ueberschrieben*/
    40. }
    Alles anzeigen


    Das Programm soll eine 2 dimensionale Matrix ausgeben und dann den Benutzer auffordern einen neuen Wert für eine Wert in der Matrix anzugeben.

    Zuerst haben wir das Programm 1 zu 1 abgeschrieben, dann meckerte der gcc schon rum. Es ergaben sich 16 Fehler....naja nun ist es nur noch einer.
    Aber dieser eine lässt uns zwei anfängern die Köpfe rauchen.

    Der Compiler gcc sagt folgendes:
    skript_transf.c:7: error: expected expression before ‘=’ token


    Ich wäre über Anregungen bzw. Lösungen sehr erfreut.

    PS: Zeile 7 aus dem Zitat des Compilers stimmt mit Zeile 7 oben im Programm überein

    gruß
    para