Wie schreibe ich eine Pyramide von Sternen in. TXT-Datei mit einer rekursiven Funktion in C? Beispiel für ein Dreieck Pyramide Sternmuster von 5 Zeilen Programm Ausgabe sollte:Pyramid Sternmuster Programme in C mit Rekursion
*
***
*****
*******
*********
Ich habe das nicht-rekursive:
#include <stdio.h>
int main(void){
int i, space, rows, star = 0;
printf("Enter the number of rows\n");
scanf("%d", &rows);
//printing one row in every iteration
for(i = 1; i <= rows; i++){
/* Printing spaces */
for(space = 1; space <= rows - i; space++){
printf(" ");
}
//Printing stars
while(star != (2 * i - 1)){
printf("*");
star++;
}
star = 0;
//move to next row
printf("\n");
}
return 0;
}
Kann nicht Rekursion excatly herauszufinden.
void print_pattern(int spaces, int stars){
static int spaces = 4, stars = 1, number_of_lines = 5;
int i, j;
for(i = 1; i <= spaces; i++)
printf(" "); //print spaces
for(j = 1; j <= stars; j++)
printf("*"); //print stars
if(number_of_lines > 0){
number_of_lines -= 1;
//call recursively if all lines are not printed
print_pattern(spaces - 1, stars + 1);
}
}
aussehen könnte was Sie versucht zu tun haben? – UnholySheep
Denken Sie über das Problem nach, und versuchen Sie, es zu lösen, dann schreiben Sie, wo Sie stecken bleiben !! –
Sie könnten versuchen, eine Funktion zu schreiben, die die Basisbreite in Zeichen und die aktuelle Breite in Zeichen annimmt. Finden Sie heraus, wie Sie die aktuelle Breite in der Basisbreite zentrieren und die Anzahl der Sterne drucken können. Wenn die aktuelle Breite nicht der Basisbreite entspricht, rufen Sie die Funktion rekursiv auf und übergeben Sie die Basisbreite und die aktuelle Breite plus zwei. Habe Spaß. –