5.2.20
12/07/19
Last Modified 06/30/19 by Walter Tasin
AlgoDat_LA3 Reload Page

Algorithmen und Datenstrukturen

Lösung zu Tutorium 2

Mary-Lee Steffan


Programmerstellung

Es soll jeweils ein Programm erstellt werden, um ein Muster aus Sternchen zu erstellen.

  • Zur Ausgabe soll die Funktion putchar() verwendet werden.
  • Der Wert der Variablen zeilen wird verwendet, um die Anzahl der auszugebenden Zeilen festzulegen.

Muster 1

Beispielausgabe für zeilen==5:

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

  • Erstellen Sie das Programm und implementieren die Ausgabe in der Funktion main.
  • Testen Sie das Programm für unterschiedliche Initialisierungen der Variablen zeilen.

#include <stdio.h>

int main()
{

   int i=0, x, zeilenanzahl=0;

   printf("Wie viele Zeilen soll das Sternchenmuster haben?\n");
   scanf("%d",&zeilenanzahl);

   while (i<=zeilenanzahl)
   {
     for(x=0;x<i;x++)
       putchar('*');

     i++;
     printf("\n");
   }
   return 0; 
}

Muster 2

Beispielausgabe für zeilen==6:

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

  • Erstellen Sie das Programm und implementieren die Ausgabe in der Funktion main.
  • Testen Sie das Programm für unterschiedliche Initialisierungen der Variablen zeilen.
  • Bewerten Sie Ihren Algorithmus (z. B. Anzahl der Variablen) und verbessern Sie ihn ggf.

#include <stdio.h>

int main()
{

  int i=0, x, zeilenanzahl=0;

  printf("Wie viele Zeilen soll das Sternchenmuster haben?\n");
  scanf("%d",&zeilenanzahl);

  for(i=1;i<=zeilenanzahl;i++)
  {
     for(x=1;x<zeilenanzahl-i+1;x++)
       putchar(' ');

     for(x=0;x<i;x++)
       putchar('*');

     printf("\n");
  }
  return 0; 
}

Muster 3

Beispielausgabe für zeilen==3:

  *
 ***
*****

  • Erstellen Sie zuerst ein Nassi-Shneiderman-Diagramm.
  • Erstellen Sie dann das Programm und implementieren die Ausgabe in der Funktion main.
  • Testen Sie das Programm für unterschiedliche Initialisierungen der Variablen zeilen.

#include <stdio.h>

int main()
{
   int i=0, x, zeilenanzahl=0, sternenanzahl;

   printf("Wie viele Zeilen soll das Sternchenmuster haben?\n");
   scanf("%d", &zeilenanzahl);

   for(i=1;i<=zeilenanzahl;i++)
   {

     for(x=1;x<zeilenanzahl-i+1;x++)
       putchar(' ');

     sternenanzahl=i*2-1;

     for (x=1;x<=sternenanzahl;x++)
       putchar('*');

     putchar('\n');
   }

   return 0;
}

Muster 4

Beispielausgabe für zeilen==5:

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

  • Überlegen Sie welche Werte für die Zeilenanzahl zulässig sind, um ein korrektes Muster auszugeben.
    Hinweis: Sowohl die Zeilenanzahl 0 als auch die Zeilenanzahl 1 sollen zulässig sein.
  • Sollte der Wert in der Variablen zeilen kein korrektes Muster erzeugen, dann soll nur eine geeignete Meldung ausgegeben werden.
  • Erstellen Sie zuerst ein Nassi-Shneiderman-Diagramm.
  • Erstellen Sie dann das Programm und implementieren die Ausgabe in der Funktion main.
  • Testen Sie das Programm für unterschiedliche Initialisierungen der Variablen zeilen.




Links

Uebungen Algorithmen und Datenstrukturen
Unterlagen Algorithmen und Datenstrukturen
Praktikum Algorithmen und Datenstrukturen
Zur Hauptseite