Lösung eines linearen Gleichungssystems
-
Grüßt euch,
ich bin grade dabei ein Programm zu schreiben, bei dem man die Koeffizientenmatrix und die Absolutglieder eines LGS eingibt und daraufhin dann die Lösungen des Einheitsvektors bekommt.
Leider scheiter ich schon bei der Eingabe der Koeffizientenmatrix, da die Werte nicht übernommen werden, wenn ich die Matrix ausgebe.
Habe schon jede Menge rumprobiert aber noch keine Lösung gefunden
#include <stdio.h> #define n 3 double matrix[n][n]; //Koeffizientenmatrix double absolut[n]; //Absolutglieder double einheit[n]; //Einheitsvektor void main() { int i,k,x; for(i=0;i<=2;i++)//Zeile { printf("Geben sie die %d. Zeile ein:\n\n",i+1); for(k=0;k<=2;k++)//Spalte { printf("%d. Konstante: ",k+1); scanf("%d",&x); x = matrix[i][k]; printf("\n"); } for(k=2;k>=0;k--) // Eigentlich Ausgabe der i. Zeile printf("%d",matrix[i][k]); } return; }
-
Guck dir nochmal an, wie scanf funktioniert. Und schalt Compilerwarnungen auf Maximum, behandle Warnungen wie Fehler.
-
Danke für die schnelle Antwort, hab grad nochmal meinen Beitrag editiert, das Problem ist nun, dass die Matrix nicht die eingescannten Werte übernimmt. Compilerwarnung habe ich trotz hoher Stufe nicht bekommen.
Edit: Oder muss ich dann mit strcpy arbeiten um den x-Wert an die Speicheradresse von matrix[i][k] zu speichern?
-
x = matrix[i][k];
Aendern in:
matrix[i][k] = x;
-
knivil schrieb:
x = matrix[i][k];
Aendern in:
matrix[i][k] = x;
Bereits ausprobiert, den Fehler hatte ich schonmal gemacht
-
Die Variablenzuweisung läuft schon so ab:
matrix[i][k] = x;
Nur ist Deine matrix ein Array von doubles und Dein x ein integer.
Wenn Du Dir mal den Spaß erlaubst, x als double zu deklarieren und statt "%d" (siehe Dokumentation zu scanf / printf) "%f" zu verwenden, wirst Du möglicherweise schon einen Grund näher (am Abgrund) sein.
-
Bitte schreib hier nicht andauernd andere Sachen, die irgendwie was mit dem zu tun haben, was du bei dir tust. Copy&Paste des relevanten Abschnitts, genaue Beschreibung des beobachteten Verhalten und welches Verhalten stattdessen erwartet wird. Und wenn dir dann eine Lösung gegeben wird, diese genau so umsetzen, und nicht so wie du denkst, dass du sie verstanden hast, solange du dir nicht 100% sicher bist, alles genau verstanden zu haben.
Wenn du stattdessen hier im Foreneditor "programmierst", korrigieren wir nur die Fehler die du dabei gemacht hast, nicht deine eigentlichen Fehler.