Matrix füllen
-
Hallo Leute
Bin ein Neuling hier und komme gleich mal mit ner Frage anBei der folgenden Aufgabe muss ich die 3.11 machen, aber ich blick grad nicht durch, wie ich das Array den Vorgaben entsprechend füllen soll
Die Aufgabe müsste am besten heute Abend lauffähig sein, da ich es morgen abgeben mussIch weiß, ich bin sehr spät dran..
Hier mal ein Screen von der Aufgabe und meinem "Fortschritt" :p
http://pbrd.co/1fbl5C5
-
Was ist deine Frage/Problem?
edit: Ahh, ich sehe es. Du brauchst natürlich zwei Schleifen. Denk auch mal darüber nach, welche Variable bei dir was bezeichnet. Das i in deinem Programm ist manchmal eine Größe, manchmal ein Index.
P.S.: Außerdem nutzt du offensichtlich einen C++-Compiler für C. Tu das nicht.
fill_matrix(int &i)
kann in C nicht funktionieren und in C++ macht es was anderes, als du vermutlich denkst.
-
Das wäre doch iwie zu einfach oder nicht? Bin mir nicht sicher, ob das so akzeptiert werden würde.
-
TyPe_X schrieb:
Das wäre doch iwie zu einfach oder nicht? Bin mir nicht sicher, ob das so akzeptiert werden würde.
'Tschuldige, ich habe die Aufgabe zunächst falsch verstanden. Habe oben eine passendere Antwort reineditiert.
-
Zudem steht die Regel doch da.
if (i>j) mat[i][j] = ... erste Regel else if (i==j) mat[i][j] = 1.0 else mat[i][j] = 0.0
-
Wie könnte das dann grob aussehen? Damit ich einen groben Leitfaden habe
-
Habe den Code auch gerade erst gesehen
Achte bei den Schleifen auf die Abbruchbedingung
-
Das habe ich ja auch versucht umzusetzen, aber ich versteh das mit diesen Punkten nicht. Wie zum Beispiel 10.0. Damit ist doch (10/0) gemeint? Kann man das so mit dem Punkt zuweisen? (zB. mat[0][0]=1.0)
-
Du meinst Satzpunke? Wie "......"? In "10.0"? Das ist einfach die in der englischsprachigen Welt gängige Schreibweise des Dezimaltrennzeichens. Im Deutschen würde man "10,0" schreiben, aber Computer sprechen Englisch.
Man macht das hier, damit die Zahl vom Typ double ist, was wichtig für das Ergebnis der Division ist (denn eine Division mit Ganzzahlen wäre wieder eine ganze Zahl!).
-
Hier mal ein Gerüst. Damit solltest du es hinbekommen.
#define N 5 double mat[N][N]; void fill_matrix() { int i, j; for ( i = 0; i < ??; ++i ) { for ( j = 0; j < ??; ++j ) { if ( i > j ) mat[i][j] = ??; else if ( i == j ) mat[i][j] = 1.0; else mat[i][j] = ??; } } }
*Edit
Falls du das #define N 5 nicht verstehst, dann nimm es raus und schreib statt N einfach 5.
-
Achsooo omg wie dumm von mir :D. Dann kann ich mir auch endlich die Werte erklären. *schäm*
Danke!Das mit dem Define ist mal ne super Sache
Jetzt funktioniert es wie es soll :))