Hallo erstmal.
Ich habe eine Aufgabe zu erledigen, in der es heisst ich solle Primzahlen bis zu einer gewissen obergrenze berechnen und die Anzahl der errechneten Primzahlen ausgeben. Alles kein problem und läuft auch. Allerdings ist die Aufgabenstellung, dass ich alle errechneten Primzahlen in ein entsprechendes array einspeicher und sie darüber ausgebe, wie auch die Menge der errechneten Zahlen über die Größe des arrays.
Funktioniert:
Code:
//
oS steht für obere Schranke und wird weiter oben im code von der Tastatur eingelesen
int count = 0;
int i;
for(i=2; i<=
oS; i++){
int teiler = 2;
while(i % teiler != 0){
teiler++;
}
if(teiler == i){
count++;
printf("%d\n", i);
}
}
printf("Es wurden insgesamt %d Primzahlen berechnet", count);
return 0;
soviel zum Primzahlenrechner.
Hier ist mein verzweifelter Versuch das alles über ein array auszugeben:
Code:
//
oS steht für obere Schranke und wird weiter oben im code von der Tastatur eingelesen
int Primzahlen[
oS];
int count = 0;
int i;
for(i=2; i<=
oS; i++){
int teiler = 2;
while(i % teiler != 0){
teiler++;
}
if(teiler == i){
Primzahlen[count] = i;
printf("%d\n", Primzahlen[count]);
count++;
}
}
printf("Es wurden insgesamt %d Primzahlen berechnet", sizeof(Primzahlen[count]/sizeof(int));
return 0;
Die Idee war, die jeweils errechnete Zahl in der stelle "count" im array einzuspeichern und nachdem jegliche Arbeit in einem loop mit diesem array vollbracht ist, count um 1 zu erhöhen. Das Programm gibt zwar alle Primzahlen wie gewünscht aus, für die Größe des Arrays jedoch IMMER als 1... und ich weiß nicht wieso.
Würde mich über viele hilfreiche tipps freuen