Hallo!
Eigentlich funktioniert das Programm, aber es erscheint mir viel zu kompliziert. Ich bin mir sicher es gibt bessere Lösung für das Problem:
Erstellen Sie ein Programm, das eine vom Benutzer zuvor gewählte Anzahl von bis zu 100 Integerzahlen von der Tastatur einließt und anschließend prüft ob alle Zahlen zwischen 10 und 20 in dem Array vorkommen. Die Laufzeitkomplexität des Programms sollte linear dabei sein.
Code:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k, z=0;
int array[100];
int array11[11];
printf("Geben Sie die Anzahl der Zahlen ein, die Sie eingeben wollen (maximal 100): ");
scanf("%d", &i);
for(j=0;j<i;j++)
{
printf("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &array[j]);
}
for (j=0;j<i;j++)
{
if(array[j] == 10)
array11[0] = 1;
else if (array[j] == 11)
array11[1] = 1;
else if (array[j] == 12)
array11[2] = 1;
else if (array[j] == 13)
array11[3] = 1;
else if (array[j] == 14)
array11[4] = 1;
else if (array[j] == 15)
array11[5] = 1;
else if (array[j] == 16)
array11[6] = 1;
else if (array[j] == 17)
array11[7] = 1;
else if (array[j] == 18)
array11[8] = 1;
else if (array[j] == 19)
array11[9] = 1;
else if (array[j] == 20)
array11[10] = 1;
}
for(k=0; k<10; k++)
{
if(array11[k] == 1)
z++;
}
if(z==10)
printf("Es sind alle Zahlen 10 bis 20 enthalten");
else
printf("Es sind nicht alle Zahlen enthalten");
for (j=0;j<i;j++)
{
printf(" %d", array[j]);
}
return 0;
}
Mit freundlichen Grüßen
Daniel
Draglan (25) |