Einmaleins Matrix in C
-
Ich will mein Einmaleins so umformen, das die Ausgabe in einer Matrix erscheint.
Es soll dann ungefähr so aussehen:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100#include <stdio.h> #include <stdlib.h> int main() { int number1; int number2; for (number1=1; number1<=10; ++number1) { for (number2=1; number2<=10; ++number2) printf("%d * %d = %d\n" ,number2, number1, number1*number2); } printf("\nDas war das Einmaleins!"); system("PAUSE"); return 0; }
-
int main() { int number1; int number2; for (number1=1; number1<=10; ++number1) { for (number2=1; number2<=10; ++number2) printf("%4d" ,number1*number2); puts(""); } printf("\nDas war das Einmaleins!"); system("PAUSE"); return 0; }
-
@Belli Danke !!
-
@Kibo
Ich willMeine Hausaufgabe ist
-
@manni66 Ich saß an der Aufgabe jetzt schon über eine Stunde und konnte mir trotz Internetrecherche nicht weiterhelfen. Für das Einmaleins an sich hab ich schon recht lange gebraucht, aber das mit der Matrix hab ich einfach nicht auf die Reihe bekommen, egal was ich versucht habe.
-
@Belli Könntest du mir erklären was genau die Funktion "puts" macht?
-
@Kibo sagte in Einmaleins Matrix in C:
@Belli Könntest du mir erklären was genau die Funktion "puts" macht?
http://www.cplusplus.com/reference/cstdio/puts/
Das ist eine Standardfunktion, kannst du einfach nachschauen
-
@Leon0402 "puts" unterteilt hier die strings , das halt 10mal wegen der for-Schleife oder?
-
@Kibo Falls Du es übersehen hast:
puts()
gibt den Parameter aus und automatisch danach einen Newline-Character ('\n'
). Ökonomischer wäre einfachputchar('\n')
zu verwenden. Weiß nicht was @Belli da geritten hat. Auch dasputs()
einfach an das controlled statement der inneren Schleife dranzuklatschen ist irreführend.#include <stdio.h> int main() { for (int line = 1; line <= 10; ++line) { for (int multiplier = 1; multiplier <= 10; ++multiplier) printf("%4d", line * multiplier); putchar('\n'); } puts("\nDas war das Einmaleins!"); }
-
@Swordfish sagte in Einmaleins Matrix in C:
Weiß nicht was @Belli da geritten hat.
Vertraue den Optimierungskünsten des Compilers.
Auch das puts() einfach an das controlled statement der inneren Schleife dranzuklatschen ist irreführend.
Besonders für fremde Hausarbeiten
-
@DirkB Hallo Belli.
-
@Swordfish sagte in Einmaleins Matrix in C:
Weiß nicht was @Belli da geritten hat. Auch das
puts()
einfach an das controlled statement der inneren Schleife dranzuklatschen ist irreführend.Der Code sah so hingerotzt aus ...
Da dachte ich, wenn ich schon die Hausaufgaben mache ...Ich helfe ja gerne, aber halbwegs 'schönen' - im Sinne von formatiert - Code, wünsche ich mir da schon.
-
@Belli sagte in Einmaleins Matrix in C:
Ich helfe ja gerne, aber halbwegs 'schönen' - im Sinne von formatiert - Code, wünsche ich mir da schon.
Nachdem das @Kibo aber niemand gesagt hat wird der nächste Beitrag wohl genauso aussehen.
-
Okay, Du wirst Recht haben, Asche auf mein Haupt ...
Aber Du hast ja in der Folge ein schönes Beispiel abgeliefert; da muss doch auch ein blutiger Anfänger sofort erkennen, dass das viel lesbarer und übersichtlicher ist, und deshalb so eine Formatierung anstreben.Aber vielleicht bin ich auch einfach zu tief drin, und setze an der Stelle zu viel voraus, keine Ahnung ...
-
@Kibo sagte in Einmaleins Matrix in C:
Ich saß an der Aufgabe jetzt schon über eine Stunde und konnte mir trotz Internetrecherche nicht weiterhelfen.
Wenn du Internetrecherche gemacht hast: welches Problem hat dich denn beschäftigt? Womit hast du Probleme? Vielleicht hilft es mehr, wenn du das schreibst, als wenn du eine fertige Lösung bekommst.
-
@Belli Wenn man N00bs verarschen will sind zwei Schleifen sowieso overkill.
#include <stdio.h> int main() { for (int i = 1; i <= 100; ++i) printf(i % 10 ? "%4d" : "%4d\n", i % 10 ? (i % 10) * ((i / 10) + 1) : i); puts("\nDas war das Einmaleins!"); }
-
Die Verarschung kann deutlich einfacher haben:
int main() { for( int i=1; i<101; ++i ) printf("%4d%c",i,"\n"[!!(i%10)]); }
-
@Wutz sagte in Einmaleins Matrix in C:
Die Verarschung kann deutlich einfacher haben:
int main() { for( int i=1; i<101; ++i ) printf("%4d%c",i,"\n"[!!(i%10)]); }
Das ist aber nicht das Einmaleins.