Schleifen einsetzen
-
Du hast doch 4 Blöcke mit verschiedenen Anweisungen. Auch hast du bereits eine Variable (i) definiert. Innerhalb der Blöcke werden Indizes von 0-4 verwendet, also könntest du am Besten zwei (eine Schleife ist geschachtelt) Schleifen wie folgt schreiben:
for(int i=0;i<4;++i)// i im Bereich [0-3] { for(int k=0;k<5;++k)// k im Bereich [0-4] { // Hier einen Block hineinkopieren und die notwendigen Zahlen durch k ersetzen } }Innerhalb der äußeren Schleife wird bei jedem Durchgang die innere Schleife komplett abgearbeit.
Die Ausgabe kann auf ähnliche Weise erfolgen.
Edit: Ich weiß nicht, ob du überhaupt einen C++-Compiler verwendest, falls es ein nicht C99-fähiger Compiler ist, müsstest du die Schleifenvariablen i und k am Scopeanfang deklarieren.
-
PatrickHH schrieb:
CStoll schrieb:
PS: Haben diese 1*n Matrizen einen tieferen Sinn? Wenn du eindimensionale Strukturen hast, brauchst du kein 2D Array dafür.
Das ist gerade der Stand in meiner Weiterbildung, bzw. so wird es mir beigebracht.
Was für eine Weiterbildung? Ich finde es nicht sinnvoll, Leute Dinge so unnötig komisch/unnütz programmieren zu lassen, nur weil man ihnen keine Grundprinzipien beibringt, sondern konkrete Anwendungsfälle.
-
yahendrik schrieb:
Edit: Ich weiß nicht, ob du überhaupt einen C++-Compiler verwendest, falls es ein nicht C99-fähiger Compiler ist, müsstest du die Schleifenvariablen i und k am Scopeanfang deklarieren.
Ich verwende denn gcc-Compiler unter Linux.
Die Weiterbildung mache ich in Form eines Fernstudiums.
-
PatrickHH schrieb:
yahendrik schrieb:
Edit: Ich weiß nicht, ob du überhaupt einen C++-Compiler verwendest, falls es ein nicht C99-fähiger Compiler ist, müsstest du die Schleifenvariablen i und k am Scopeanfang deklarieren.
Ich verwende denn gcc-Compiler unter Linux.
Die Weiterbildung mache ich in Form eines Fernstudiums.
Kauf dir ein Buch/Leih dir eins aus. Z.B. C++ Primer/Die C++ Programmiersprache. NICHT Bücher von Jürgen Wolf!
-
Habe es endlich geschafft das Problem zu lösen. Die perfekte Schleifenanweisung im Bezug auf meine Übung unter den gegebenen Voraussetzungen lautet:
for ( k=0; k<4; k=k+1) { for ( a=0; a<5; a=a+1) { ges_pkte[0][k] += matrix_a[k][a] * matrix_b[0][a]; } }
-
C-Code, C-Compiler, ich glaube der Threadersteller verwechselt C mit C++.
Auch wenn die Frage schon beantwortet ist, verschiebe ich es mal dahin, wo es hingehört.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum C (C89 und C99) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Noch eine ganz kleine Anmerkung:
Anstatt immer x=x+1 zu schreiben, kannst du auch x++ oder ++x schreiben. Ist nicht so aufwändig. Vor allem praktisch bei längeren Variablennamen.
-
PatrickHH schrieb:
Habe es endlich geschafft das Problem zu lösen. Die perfekte Schleifenanweisung im Bezug auf meine Übung unter den gegebenen Voraussetzungen lautet:
for ( k=0; k<4; k=k+1) { for ( a=0; a<5; a=a+1) { ges_pkte[0][k] += matrix_a[k][a] * matrix_b[0][a]; } }
Super. Und wenn du die 0 auch noch durch eine Schleifenvariable ersetzen würdest, wärst du noch flexibler mit deinem Programmcode.
In eine Funktion kann man sowas auch leicht packen, probiere es mal aus, indem du alle Schleifenendwerte als Parameter an diese Funktion übergibst.
-
SeppJ schrieb:
C-Code, C-Compiler, ich glaube der Threadersteller verwechselt C mit C++.
Auch wenn die Frage schon beantwortet ist, verschiebe ich es mal dahin, wo es hingehört.
Nein, es geht um das Erlernen der Programmiersprache C++. Bin eben noch am Anfang, da sind die Themen für Euch bestimmt noch sehr einfach.
-
Jochen S. schrieb:
Noch eine ganz kleine Anmerkung:
Anstatt immer x=x+1 zu schreiben, kannst du auch x++ oder ++x schreiben. Ist nicht so aufwändig. Vor allem praktisch bei längeren Variablennamen.Das weiß ich, aber zu dem Kapitel müssen wir im Lehrgang noch die kompliziertere Schreibweise nutzen. x++ usw. verwenden wir jetzt erst im neuen Abschnitt.
-
PatrickHH schrieb:
SeppJ schrieb:
C-Code, C-Compiler, ich glaube der Threadersteller verwechselt C mit C++.
Auch wenn die Frage schon beantwortet ist, verschiebe ich es mal dahin, wo es hingehört.
Nein, es geht um das Erlernen der Programmiersprache C++. Bin eben noch am Anfang, da sind die Themen für Euch bestimmt noch sehr einfach.
Wenn du schon C++ lernen willst, dann kauf dir auch ein Buch für C++ - das Beispiel in deinem Eröffnungbeitrag enthielt überhaupt nichts, was auch nur entfernt nach C++ aussieht.
-
Ich wollte mir auch lehrgangsbegleitend noch ein Buch kaufen. Gibt es ein bestimmtes, welches zu empfehlen ist?
-
PatrickHH schrieb:
Ich wollte mir auch lehrgangsbegleitend noch ein Buch kaufen. Gibt es ein bestimmtes, welches zu empfehlen ist?
http://www.c-plusplus.net/forum/251551
Pass auf bei der Bücherwahl, da gibt es auch sehr viele sehr schlechte. Guck immer nach negativen Kritiken von erfahrenen Programmierern, nicht nach positiven Kritiken, die den guten Stil loben. Insbesondere der Autor Jürgen Wolf ist hier im Forum eine Art Legende geworden, weil er durch seinen guten Kritikerdurchschnitt bei amazon sehr viele Bücher verkauft, aber dann treffen hier andauernd verzweifelte Gestalten ein, weil seine Lehrbücher übelst sind.