Hallo liebe Gemeinde, ich sitze hier an folgender Aufgabe: Implementieren Sie für das Arbeiten/Rechnen mit Vektoren x,y aus R hoch n die nachfolgenden Funktionen: a)print (Ausgabe eines Vektors gegebener Länge; Bildschirmausgabe) b) add (Addition von x,y aus R hoch n; y <--- y+x) zu a) Da ich ein Anfänger bin, weiss ich leider nicht so recht, wie ich die "Funktion" print, add schreiben soll. Ich könnte das jetzt ohne die Funktion schreiben, einfach mit cout << vec[0] << ... << vec[n] << endl; Kann mir vllt jemand kurz den Quellcode zumindest für a) zeigen, damit ich wenigstens mal eine Vorlage habe, woran man sich orientieren könnte? Das wäre echt super! :-) LG!
Josef schrieb: > Kann mir vllt jemand kurz den Quellcode zumindest für a) zeigen Nein. Du bist schon sehr nah dran, es selbst hinzubekommen: > einfach mit cout << vec[0] << ... << vec[n] << endl; Was steht in den eckigen Klammern? Was hat das mit dem folgenden Teil aus der Aufgabenstellung zu tun? > Ausgabe eines Vektors /gegebener Länge/ Was ist eine for-Schleife? Hilf' Dir selbst. Dann lernst Du was.
allein die Aufgabe zeigt, dass der Aufgabensteller Grundlegende C++ Konzepte nicht verstanden hat. man schreibt in C++ keine print-Funktion (zumindest nicht für Grundlegende Datentypen). Man überläd den stream operator! dann kann man nämlich mit der selben implementierung den Vektor auf die Standardausgabe, auf die Error-Ausgabe oder in einen beliebigen Dateistream schreiben. gleiches gilt für arithmetische Basisoperationen (add) man überläd die entsprechenden Operatoren.
1 | #include <iostream> |
2 | |
3 | |
4 | std::ostream& operator<<(std::ostream& os, const MyVector& vec) |
5 | {
|
6 | os << "(" << vec[0]; |
7 | for (int i=1; i<vec.length(); ++i){ |
8 | os << ", "<<vec[i]; |
9 | }
|
10 | os << ")"; |
11 | return os; |
12 | }
|
13 | |
14 | int main(){ |
15 | MyVector x(1.,5.6, 34.); |
16 | std::cout << "x = "<< x << std::endl; |
17 | std::cerr << "x = "<< x << std::endl; |
18 | |
19 | return 0; |
20 | }
|
@rufus sorry, dein Post war noch nicht da.
:
Bearbeitet durch User
Hallo Josef, Wenn du C++ erlernen willst kann ich dir die Bücher Der C++ Programmierer von Ulrich Breymann oder (etwas besser für Anfänger geeignet) Einführung in die Programmierung mit C++ von Bjarne Stroustrup empfehlen.
Josef schrieb: > Kann mir vllt jemand kurz den Quellcode zumindest für a) zeigen, damit > ich wenigstens mal eine Vorlage habe, woran man sich orientieren könnte? > Das wäre echt super! :-) Stichwort: Schleifen! Pseudocode: for i=0 to length(vector) do begin printFloat(vector[i]); end
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.