n-Zeilen an Sternchen?



  • Hi Leute!

    Ich will ein Programm schreiben, dass mir n-Zeilen von Sternchen in diesem Muster druckt:

    *   
      ***  
     *****
    *******
    

    Mein bisheriger Versuch:

    #include<stdio.h>
    
    int main ()
    {
    	int i, j, zeilen = 0, hilfs_var = 0;
    	char array[100];
    
    	printf("Zeilenanzahl eingeben: "); scanf("%i", &zeilen);
    
    	hilfs_var = zeilen;
    
    	for(i=0; i<zeilen; i=i+1)
    	{
    		array[i]
    	}
    
    	for(i=0; i<4; i=i+1)
    	{
    		if(i == (i=i+7))
    		{
    			printf("\n");
    		}
    		printf("%s", array);
    	}
    
    return 0;
    }
    

    Mehr hab ich leider bisher nicht zustande gebracht...



  • Hier war vor kurzem eine Anfrage zu einem Tannenbaum. Säge den Stamm ab, dann hast du es.

    Der Titel war: Tannenbaum?. Verfasser kennst du 🙄



  • Ich finge das wohl etwa so an:

    #include <stddef.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char *sternzeile(size_t len) {
      char *sterne = malloc(len + 1);
    
      if(sterne) {
        memset(sterne, '*', len);
        sterne[len] = '\0';
      }
    
      return sterne;
    }
    
    #define DEMAND(cond) if(!(cond)) return -1
    
    int main(void) {
      int zeilen;
      char *sterne;
      int i;
    
      printf("Zeilenanzahl: ");
    
      DEMAND(scanf("%d", &zeilen) == 1);
      DEMAND(sterne = sternzeile(zeilen * 2));
    
      for(i = 0; i < zeilen; ++i) {
        printf("%*c%s\n", zeilen - i, '*', sterne + (zeilen - i) * 2);    
      }
    
      free(sterne);
    
      return 0;
    }
    

Anmelden zum Antworten