Aufgabe: Matritzen einlesen ??Speichern der Werte??
-
Schau mal genau hin.
Du gibst immer nur das Selbe Element aus.
Und das existiert noch nicht mal (wenn ma == mb == 5 ist)
-
Ersetze mb durch na
-
printf("| %d ",a[idrei][ivier]);
-
So,
bin grad dabei eine eigene Bibliothek zu erstellen und möchte dort einen eigenen Datentyp für die Matritzen definieren.
Ich komme zu diesem ergebins in der Headerdatei:typedef struct { int mmatrix, nmatrix, matirx[5][5]; // 5x5-Matrix, Vorgabe } mat;
Die Benutzung des Typs mat soll in der main wie folgt aussehen:
mat matrixA = {0}, matrixB = {0}, matrixC = {0};
Ist diese Schreibweise korrekt?
-
Ja, wen du alles mit 0 initialisiert haben möchtest.
Gibt es Probleme?
-
Ja,
Fehlermeldung Visual Studio Zeile 6: "mat matrix A: Es ist keine passende Konvertierungsform von mat in *mat vorhanden"// Abfrage der Elemente von A und B: for ( ieins = 0; ieins < na; ieins ++) { for (izwei = 0; izwei < ma; izwei ++) { printf("Bitte das Element A(%d,%d) eingeben:", izwei + 1, ieins + 1); scanf("%d", element); setzeElem (matrixA, ieins, izwei, element); } }
Die Funktion:
void setzeElem( mat *m, int posx, int posy, int wert ){ m -> matrix [posx] [posy] = wert ; return; }
Offenbar soll ich einen Zeiger auf die Matrix A (Typ mat) übergeben.
Wie erstelle ich einen solchen Zeiger auf Matrix A?
-
Mit dem Adressoperator &.
Der fehlt auch beim scanf.
In deinem Beitrag vom 16:28:08 05.12.2012 war er noch drin.
-
d.h. es müsste wie folgt funktionieren?
// Abfrage der Elemente von A und B: for ( ieins = 0; ieins < na; ieins ++) { for (izwei = 0; izwei < ma; izwei ++) { printf("Bitte das Element A(%d,%d) eingeben:", izwei + 1, ieins + 1); scanf("%d", &element); setzeElem (&matrixA, ieins, izwei, element); } }
-
Ja.
Aber mit einem Compilerlauf wäre die Frage schneller beantwortet gewesen.
Auch wenn du gleich alles gezeigt hättest. Denn die Fehler lagen bei deinen Problemen nie da wo du sie vermutet hast.
-
Das Programm läuft, vielen Dank für die schnelle Hilfe!