Hallo Zusammen,
ich lerne zurzeit die Programmierung in C und C++ für meine Studium.
Ich soll ein Programm entwickeln das die Primzahlen bis 100 ausgibt.
Dazu habe ich folgende Musterlösung. Allerdings verstehe ich noch nicht zu 100% was das Programm genau bewirkt. Erklärung vom Professor fehlen leider komplett.
Ich kennen das Prinzip der Anwendung von Arrays
Allerdings erschließt sich mir die Vorgehensweise des Programm nicht.
Gibt es jemanden der mir Zeile für Zeile erläutern kann was die einzelnen Programmzeilen für Berechnungen durchführen bzw bewirken?
Ich verlieren als kompletter Neuling doch noch sehr schnell die Übersicht, selbst wenn ich auf dem Papier die einzelnen Zeilen versuche nach zurechnen.
Soviel hab ich verstanden das der Index des Arrays mit 1 zugewiesen wird, wenn eine Primzahl vorliegt, ansonsten wird das Feld mit 0 beschrieben.
Vielen Dank für eure Hilfe
#include <stdio.h>
#define N 100
int main()
{
int i, j, a[N+1];
a[1] = 0;
for (i = 2; i <= N; i++) a[i] = 1;
for (i = 1; i <= N; i++)
if (a[i]) printf("%d", i);
for (i = 2; i <= N / 2; i++)
for (j = 2; j <= N/i; j++)
a[i * j] = 0;
printf("\n Berechn. der Primzahlen < 100: \n");
for (i = 1; i <= N; i++)
if (a[i]) printf("\n %d", i);
printf("\n Ende des Programms \n");
return 0;
}