1stellige Zahl zu 3 stellige zahl machen?
-
DocShoe schrieb:
Stumpf ist Trumpf:
void write_integer( ostream& os, int Value ) { if( Value < 0 ) { Value = -Value; os << "-"; } if( Value < 10 ) os << "00" << Value; else if( Value < 100 ) os << "0" << Value; else os << Value; }
*duck und weg*
Nutz da doch wenigstens intern setw, damit man nicht so eingeschränkt ist und auch das Füllzeichen noch ändern kann. Außerdem schreit dies meiner Meinung nach nach einer Implementierung als Funktor/Lambda.
@Threadersteller: Ich bin gerade etwas verwirrt. Wie viel C++ kannst du überhaupt? Einerseits kommst du mit algorithms und Iteratoren an, andererseits scheinst du nicht in der Lage zu sein, einfachste Programme zu schreiben. Nenn mal bitte deinen Kenntnisstand, dann kann man passendere Antworten geben.
-
@Stepp :Nutz da doch wenigstens intern setw, damit man nicht so eingeschränkt ist und auch das Füllzeichen noch ändern kann. Außerdem schreit dies meiner Meinung nach nach einer Implementierung als Funktor/Lambda
Ehrlich gesagt verstehe ich nicht was du meinst?
-
Damit meinte er auch mich, und nicht dich. Du sollst uns jetzt erst ein mal erzählen, wieviel C++ du wirklich kannst.
@SeppJ
Funktor wäre nicht mehr ganz so stumpf gewesen...
-
Ich bin nocn anfänger....
Ich habe nicht Erfahrungen
-
MaximGast schrieb:
Ich bin nocn anfänger....
Ich habe nicht ErfahrungenWarum fummelst du dann so komisch Streamiteratoren rum? Abgeschrieben? (Fall ja: Schlechte Idee zum Lernen.)
Wieso nicht einfach die ganze Funktion weglassen und stattdessen:
for(size_t i = 0; i < dein_vector.size(); ++i) zielstream << setw(3) << setfill('0') << dein_vector[i] << " ";
Zwei Zeilen und fertig. So macht man das, wenn man gerade mit C++ angefangen hat. (Und später eigentlich auch. Dieses ostream_iterator-Gefummel benutzt niemand ernsthaft, außer er will den großen Haxx0r markieren.)
-
Ich habe das jetzt:
datei.fill('0'); for(size_t i= 0;i<v.size();++i) { datei.width(3); datei<<v[i]<< " "; }
Jede hat klein angefangen
aber danke an alle
-
Sieht doch gleich viel besser aus. Und funktioniert nach Wunsch, nehme ich an?
-
jetzt möchte das Ostream Ausgabe in einem Pyramid form
Wie mache ich das ?zb:
111 333 444 555 777 888 123 453 456 001
212 225 815 248 000 231 589 215 210
121 210 230 213 231 218 215 218
747 104 233 344 345 789 871
785 102 201 854 124 215
781 214 895 210 101
456 890 123 545
456 678 899
345 678
456
-
nein :
in diesen form meine ich:
102 222 542
965 125
102
-
Setz Formatierungen in die Code-Tags, dann bleiben sie erhalten.
Hast du denn einen Anstaz? Das klingt mir doch sehr nach Hausaufgabe.
-
Es ist keine Hausaufgabe.
Ich mache nur für mich
Ansatz habe ich :if(v.size()== 20) { datei<< v[i] <<" "; } if(v.size()== 21) { datei<<" "<<v[i]; }
aber es klappt nicht
warum ich mit v.size() == x1,x2...
@ Die Vektoren haben unterschiedliche lange
-
Es hat alle geklappt wie es sein muss.
So macht Programmierung spass
Danke an alle