Ein Wort Stück für Stück ausgeben
-
Hallo Leute,
ich bräuchte Hilfe zu einem Programm, welches ich in der Schule ertellen soll:
Wir sollen mit string ein Prog schreiben, welches mir z.B. das Wort "HALLO" folgendermaßen ausgibt:
H
HA
HAL
HALL
HALLO
HALL
HAL
HA
HWäre super wenn mir da jemand helfen könnte!
Ich weiß nicht wie ich an den Programmcode ran gehen soll...Viele Grüße
-
das sind lediglich zwei schleifen hintereinander. Die erste zählt von 1 bis zur Länge des Strings, die andere anders herum. du machst dann nen cout auf einen substring (string::substr()) und gut ist
-
hab heute meinen sozialen tag...
#include <string> #include <iostream> using namespace std; void putText(string const& text) { int i; for(i = 0; i < text.length(); ++i) cout << text.substr(0, i) << endl; for(i = text.length()-1; i >= 0; --i) cout << text.substr(text.length()-1, i) << endl; }
bin mir nicht sicehr wie das mit legnth() aussieht ob man da noch wie gemacht einen abziehn muss oder obs reicht wenn man length() nimmt...
-
Skym0sh0 schrieb:
#include <string> #include <iostream> using namespace std; void putText(string const& text) { int i; for(i = 0; i < text.length(); ++i) cout << text.substr(0, i) << endl; for(i = text.length()-1; i >= 0; --i) cout << text.substr(text.length()-1, i) << endl; }
bin mir nicht sicehr wie das mit legnth() aussieht ob man da noch wie gemacht einen abziehn muss oder obs reicht wenn man length() nimmt...
void putText(string const& text) { int i; for(i = 0; i <= text.length(); ++i) cout << text.substr(0, i) << endl; for(i = text.length(); i >= 0; --i) cout << text.substr(text.length(), i) << endl; }
In der ersten Schleife muss es <= nicht < heißen!
Und das -1 kannst du dir auch Sparen.
-
deswegen meinte ich ja ich bin mir nicht sicher was length() zurückgibt
hab den ganzen spass jez nich im kopf und will auch nicht dauernd die compiler und so starten...