RSS

Beispiel 2

Sitzungsüberblick: Wiederholung (10.11.2008)
1
2
34
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;}