
| 1 | 2 | 3 | 4 | ||||||||||
| Zurück zur Kursübersicht | |||||||||||||
Primzahlen
#include <iostream>using namespace std;bool PruefePrim(int);void Ausgabe(int[], int);// ***********************************int main(){ int ArrayVonPrimzahlen[10]; // ein Array fuer 10 moegliche Primzahlen int n = sizeof(ArrayVonPrimzahlen)/sizeof(int); int Pruefbereich=70;
// pruefe (im Prinzip) bis 70 auf prim int index=1;
// ausserhalb der Schleife
ArrayVonPrimzahlen[0]=2;
// die 2 schonmal als 1.Primzahl an Position 0 for (int i=3; i<=Pruefbereich; i++) // i ist aktuelle Zahl 0 bis 70 { if(index>=n)
// ist Platz im Array (also index<Arraygroesse) break;
// wenn nicht: ganze Schleife abbrechen if(PruefePrim(i)==true) // wenn Rueckgabe der Prüfung wahr { ArrayVonPrimzahlen[index]=i; // schreibe aktuelle Zahl auf index in Primzahlen-Array index++;
// index erhoehen (da kann nachste Primzahl rein) } } Ausgabe(ArrayVonPrimzahlen, index);}// ***********************************bool PruefePrim(int Zahl)
// bekommt aktuelle Zahl zum pruefen{ bool prim=true;
// eine bool-Variable sei kategorisch wahr for (int j=2; prim && j<Zahl; j++) // kleinste Divisor:2; solange prim wahr und j<kleiner Zahl if (Zahl%j == 0)
// Division ergibt *keinen* Rest: Zahl ist durch j teilbar prim = false; // also ist Zahl *nicht* prim return prim;
// Wahrheitswert wird zurueckgegeben}// ***********************************void Ausgabe(int Primzahlen[], int Menge) // Menge entspricht index von oben{ for(int i=0; i<Menge; i++) // Ausgabe von 0 - index (also da, wo was drinsteht) cout << Primzahlen[i] << endl;}