Zahlen Formatieren??
-
#include <iostream.h> #include <stdlib.h> #include <iomanip.h> using namespace std; int main() { cout << " **** K.l.e.i.n.e.s - E.I.N.M.A.L.E.I.N.S ****\n\n"; for (int i=1; i <= 10; ++i) { cout << " "<< i ; } cout <<"\n--------------------------------------------------------------------------------"; cout <<"\n"; for (int b=1; b <= 10; ++i) { cout <<" " << 2*i ; } return 0; }
Also hier soll die 10'er Reihe vom kleinem Einmaleins ausgegeben werden!!
Aber ab "10" stehen die Zahlen nicht mehr ordentlich...
Soll so eine Art Tabelle Werden
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20
Seht ihr? Ab den 10'ern verschiebt es sich um 1 Stelle
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20
So soll's aussehen!
Wird das mit "sprintf" gemacht???
Weis nicht wie das verwendet werden soll...
Hehe, ich mach das aber noch ordentlicher ;), ich kann die Linie z.B. zu einem String machen.
string linie(81,"-"); // LOL, müsste doch so gehen, kanns ja mal probieren
Kann ich statt Leerräume bei cout " " irgendwie "Füllzeichen" nehmen?
Wie geht das nochmal?? setfill(" ")?
Die Lösung steht zwar 2 Seiten weiter im Buch, aber ich guck da nicht nach ohne das gelöst zu haben
-
Kompiliert das so?
Naja, zu deinem Problem:
cout << setw(4) << i; cout << setw(4) << b*2;
Bei mir siehts danach vernünftig aus.
[EDIT]
Die Lösung steht zwar 2 Seiten weiter im Buch, aber ich guck da nicht nach ohne das gelöst zu haben
Aber wenn du hier fragst, kannste ja auch direkt nachgucken....
[/EDIT]
-
Hinter jede Zahl einen Tabulator einfuegen!?! ("\t")
Dann stehen die Zahlen schoen untereinander.
-
Ein Wunder, dass dein Programm ueberhaupt terminiert, da die Abbruchbedingung in der zweiten forSchleife nie erfuellt sein wird, da du i inkrementierst, und nich b. Außerdem wundert mich, dass das Programm bei der zweierReihe mit 2 anfaengt, und nich mit 20, da i ja noch von der ersten Schleife auf 10 stehen sollte... Hast du vielleicht alles nochma abgetippt und Fehler reingemacht, oder hab ich da was verpasst?
mfG D1B
-
ja also so ist das zumindest kein KLEINES einmaleins mehr
-
Beim G++ Compiliert der Code... hmmm...
Die 2. Schleife bricht doch beim 10. Durchlauf ab?!?!?!
Also mein Programm zeigt im Terminal keine Endlosschleife an...
@GuybrushThreepwood: Kanns ja mal probieren
-
Also der Code ist so, wie du ihn gepostet hast, schlichtweg falsch....
-
Ach, Sorry, das isser net
Das war der, der net ging
Naja, hauptsache ich habs geschafft, geht mit setw!
-
#include <iostream.h> #include <iomanip.h> #include <stdlib.h> using namespace std; int main() { cout <<"\n**** Kleines Einmaleins ****\n\n"; for (int i=1; i <= 10; ++i) { cout << i; cout << setw(5); } cout << endl; for (int i=1; i <= 10; ++i) { cout << i*2; cout << setw(5); } return 0; }
Hier wird es wieder komisch angezeigt...
#include <iostream.h> #include <iomanip.h> #include <stdlib.h> using namespace std; int main() { cout <<"\n**** Kleines Einmaleins ****\n\n"; for (int i=1; i <= 10; ++i) { cout << setw(5) << i; } cout << endl; for (int i=1; i <= 10; ++i) { cout << setw(5) << i*2; } return 0; }
Aber hier geht's, will zwar ein Rand neben haben, wär aber gut, wenn ich auch wüsste wie's mit Rand geht!!
-
#include <iostream.h> #include <iomanip.h> #include <stdlib.h> using namespace std; int main() { cout <<"\n**** Kleines Einmaleins ****\n\n"; cout <<"-------------------------------------------------------\n"; for (int j=1; j <= 10; ++j) { cout << "| "; for (int z=1; z <= 10; ++z) { cout << setw(5) << j*z; } cout << endl; } return 0; }
Das ist der Fertige, dass ich nicht sofort auf die Idee kam, verschachtelte "for"'s zu nehmen
Für die 1. Zahl wir also beim 1. durlauf 1 gezählt, beim 2. 2 u.s.w.
Und in der anderen ist also z.b. 4*1, 4*2, 4*3