C- Programmieren, 1mal1 mit while schleife?
Hey, ich will eine 1mal1 "Tabelle" erstellen. Bis jetzt habe ich aber nur geschaft die 1 Reihe zu programmieren. Ich will aber auch die 2, 3 usw.. Reihe dazu haben. Hat jemand eine Lösung? Vielen Dank!
4 Antworten
Eine Tabelle breitet sich bekanntermaßen in zwei Richtungen aus - vertikal und horizontal.
Das heißt, du benötigst eine Schleife, die dir die Spalten schafft und eine, die die Reihen durchläuft.
Pseudocode:
Zähle von 0 bis Zeilenanzahl
Zähle von 0 bis Spaltenanzahl
Schreibe Zelleninhalt
Schreibe Zeilenumbruch
int col=1,row=1;
while(row<11){
printf("%3d ",col*row);
col=++col%11;
if (col==0){
++row;col=1;printf("\n");
}
}
Etwas dreckig, aber Spaß muß halt auch mal sein :-)
Warum machst du das mit einer while-Schleife?
Für solche Fälle sind for-Schleifen viel angebrachter.
Zwei verschachtelte for-Schleifen für zahl1 und zahl2 und fertig.
ok. dann musste du zwei while-Schleifen schacteln. Die innere hast du schon fertig. Um die herum brauchst du eine weitere, in der du die andere Zahl hochzählst (und die eine Zahl wieder zurücksetzt)
habs nicht hinbekommen -.- könntest du mir vielleicht zeigen wie es genau geht? sry bin noch ein Programmieranfänger
Programmieren lernt man nur durch selber machen.
Ich schreib dir einen "Pseudocode" den du selbst noch umsetzen musst.
Schleife zahl3 von 1 bis 10
{
Schleife zahl2 von 1 bis 11
{zahl = zahl2*zahl3}
}
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int zahl;
int zahl2=0;
int zahl3=0;
while (zahl3>=0&&zahl3<11)
{
zahl3++;
while(zahl2>=0&&zahl2<11)
{
zahl=zahl2*zahl3;
printf("%d * %d = %d\n\n", zahl2, zahl3, zahl);
zahl2++;
}
}
return 0;
}
ich sagte doch:
Um die herum brauchst du eine weitere, in der du die andere Zahl hochzählst ( und die eine Zahl wieder zurücksetzt)
zahl3++:
zahl2 = 0;
sonst steht zahl2 nach dem ersten Durchlauf der Schleife auf 11 und die innere Schleife wird nicht mehr ausgeführt.
Ah okay:D Habs jetzt geschafft. Vielen Dank :D
For-Schleife würde mehr Sinn machen.
Wir müssen es in der Schule mit der While-Schleife machen.
1.Habe for-Schleifen noch nicht gelernt.
2.Müssen wir es in der Schule mit der While-Schleife machen.