• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

C, Verschachtelte For-Schleife

daryY

Neues Mitglied
Hallo =)
Hier bin ich mal wieder... Wir haben gerade in der Schule das Thema verschachtelte For-Schleifen und ich war die letzten Wochen krank. Weil des schon ziemlich lang her is weiß keiner mehr, wie er die Aufabe gemachd hat (die Arbeit is für sie ja eh rum^^)
Vielleicht kann mir ja hier einer helfen.

Aufgabe: Programmiere ein Programm, das ein Dreieck beliebiger Größe (Höhe soll eingegeben werden) auf dem Bildschirm ausgibt (Konsolenprogrammierung)

Die Bildschirmausgabe soll folgendermaßen aussehen:
Code:
Bitte Hoehe eingeben: 4
___*
__***
_*****
*******
Bei meinen kläglichen Versuchen kommen immer nur Rechtecke raus...

Code:
#include <conio.h>
#include <stdio.h>

main()
{
  int hoehe=0, endehoehe=0, sternchen=0;

  printf("Bitte Hoehe eingeben: ");
  scanf("%i", &endehoehe);

  for (hoehe=1; hoehe<=endehoehe; hoehe++)
  {
   printf("%i\n", hoehe);

   for (sternchen=1; endehoehe;sternchen+2)
   {
     printf("*");
   }

  }
  getch();
}
Gaanz liebe Grüße
Daryy
 
Werbung:
PHP:
#include <conio.h>
#include <stdio.h>

main() {
  	int x=1, i=1, hoehe=0, feld=0, spacer=0, stars=0;

  	printf("Bitte Hoehe eingeben: ");
  	scanf("%i", &hoehe);
	
	feld = hoehe + hoehe - 1;
	
  	for (; x <= hoehe; x++) {
   		stars = x + x - 1;
   		spacer = (feld - stars) / 2;
   		
   		for(i = 0; i < spacer; i++) { printf("_"); }
   		for(i = 0; i < stars; i++) { printf("*"); }
   		printf("\n");
   	}
  	
  	getch();
}

ich hoffe ich konnte helfen habs nicht getestet aber wenns nicht geht sollte man trotsdem verstehen wie mans umbauen kan ;)
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
also ich schreib hier mal eben die gedankengänge auf die zu dem ergebniss führen ^^

erstmal überlegen wir uns was wir machen wollen, wir wollen das bild einer pyramide in ASCII art ausgeben also ein 2d bild, dieses bild hat eine höhe die du mit der höhe angibst und der breite die du aus der breite des tiefsten puntes der pyramide berechnen kannst. (bei unserer pyramide ist 1 der höchste punkt und bei eriner pyramiede die z.b. 4 hoch ist ist 4 der niedrigste punkt ;) )

die formel zur berechnung der breite der pyramiede an einem bestimmten punkt ist

breite = hoehe + hoehe - 1

damit wächst unsere pyramiede volgendermaßen

Code:
___* 1 stein = 1 + 1 - 1
__*** 3 steine = 2 + 2 - 1
_***** 5 steine = 3 + 3 - 1
******* 7 steine = 4 + 4 - 1

jetzt weißt du wie viele sternchen du machen musst aber du musst noch wissen wie viele spacer du machen musst damit die pyramiede auch zentriert ist ^^

spacer = (feldGröße - sterneAufAktuellerHoehe) / 2;

(wers schon vergessen hat unsere pyramiede ist 4 ebenen hoch also ist die feldGröße 4 + 4 - 1 ^^)

mit diesen infos sollte jeder sowas nachbauen können ^^
 
Zurück
Oben