EinmalEins C Programm X und Y Achse verdrehen
-
Hallo,
als Übung soll ich eine Funktion schreiben die das Einmaleins auf der Konsole ausgibt. Leider ist meine Lösung nicht ganz richtig.
Vielleicht kann mir jemand helfen.
Es soll folgend aussehen:
10 11 12 13 ...
20 22 24 25 ...
30 33 36 39 ...Meine Lösung:
10 20 30 40 ...
11 22 33 44 ...
12 24 36 48 ...#include <stdio.h> void einmaleins(int von, int bis) { int i; for(von; von <= bis; von++) { for(i = 1; i <= 10; i++) { printf("%3d ", von*i); } printf("\n"); } } int main() { einmaleins(10, 20); return 0; }
-
Hab's mir anders überlegt. Will doch keinen Streit.
-
was genau meinst du mit "Karnickelzüchter"?
-
Der geneigte Leser mag erkennen, dass deine Ergebnismatrix offenbar transponiert ist. Ob da wohl das Vertauschen der Schleifen was bringt?
-
habe ich schon versucht. hat nichts gebracht.
-
hansi557 schrieb:
habe ich schon versucht. hat nichts gebracht.
Dann hast du es wohl falsch gemacht.
Da du deinen Versuch aber nicht zeigst, müssten wir raten, was falsch ist.
-
hansi557 hat wahrscheinlich einfach nur die Schleifen vertauscht:
for(i = 1; i <= 10; i++) { for(von; von <= bis; von++) { printf("%3d ", von*i); } printf("\n"); }
Und das ergibt natürlich nicht die richtigen Werte, denn der Schleifenzähler von wird ja dann nicht wieder zurückgesetzt.
Tipp: Verwende in der inneren Schleife eine eigene Variable, z.B. j.
-
Th69 schrieb:
...
Das ist auch meine Vermutung und ich hatte das sogar schon halb im Post drin.
Ich wollte dann aber erstmal auf eine Reaktion von Hansi warten.
-
Danke für die Antworten.
Wie soll ich den j in der inneren for-schleife verwenden. Ich kann doch die Variablen nicht ersetzen.
-
hansi557 schrieb:
Danke für die Antworten.
Wie soll ich den j in der inneren for-schleife verwenden. Ich kann doch die Variablen nicht ersetzen.Bei der i-Schleife zählst du von 1 bis 10
Bei der j-Schleife sollst du von von bis bis zählen.
(oder lass sie am Anfang von fest von 10 bis 20 laufen)
Du musst dir dann noch überlegen, wo das j dein von (bisherige Laufvariable) ersetzen muss
-
die innere for schleife zählt doch von "von" bis "bis".
-
ja aber du veränderst "von" und läuft die schleife beim 2. durchgang anders ab
-
ok habe die Lösung.