Wie erstelle ich ein C-programm das ein zahlendreieck ausgibt?

2 Antworten

So wie du es da hast?

Das kann man mit einer einfachen For-Schleife lösen:

for (int i = 1; i <= 5; i++)
{
  printf("%d\n", i);
}

Falls ich einen Fehler gemacht habe bitte korrigieren. Bin im Thema normal C nicht so wirklich Fit


kawol 
Beitragsersteller
 05.12.2021, 23:46

So werden nur die zahlen von 1 bis 5 untereinander ausgegeben.. ich möchte sie aber in einem Dreieck..

FaTech  05.12.2021, 23:49
@kawol

Sorry, mein Fehler:

for (int i = 1; i <= 5; i++)
{
  for (int j = 1; j <= i; j++)
  {
    printf("%d\n", j);
  }
}

Besser? 😅

MrAmazing2  05.12.2021, 23:44

Dein Code wird

1

2

3

4

5

ausgeben, und nicht

1

12

123

1234

12345

Da müsste noch eine weitere Schleife rum.

FaTech  05.12.2021, 23:50
@kawol

Sorry, mein Fehler:

for (int i = 1; i <= 5; i++)
{
  for (int j = 1; j <= i; j++)
  {
    printf("%d", j);
  }
  printf("\n");
}

Besser? 😅

FaTech  05.12.2021, 23:56
@MrAmazing2

Stimmt. Das Funktioniert auch, ist aber sehr schwer lesbar. Deshalb würde ich persönlich die Schleife bevorzugen. Bei der Schleife erkennt man sofort, was dort passiert. Bei deiner muss man erst nachrechnen

MrAmazing2  05.12.2021, 23:56
@FaTech

Da hast du recht, deswegen habe ich mein "Habe eine bessere Lösung" nochmal editiert. Weil to be honest find ich die Doppel-Schleife auch lesbarer/besser ^^

kawol 
Beitragsersteller
 05.12.2021, 23:58
@FaTech

Vieeelen Dank!!!

for(int i = 1, out = 0; i <= 5; i++)
  printf("%d\n", out = out*10 + i;);
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf