Prob. mit C++ Code



  • Hallo leute ich habe folegendes Problem, und zwar hab ich hier ein Programm, was mir die Primzahlen bis zu einer angegebenen Obergrenzen ausgeben soll.
    Mein Problem ist, das er nicht die Primzahlen ausgibt sondern er zählt einfach alle Zahlen auf. Wo könnte der Fehler sein, hab ihr da villeicht ne Ahnung ?

    Source:

    #include <iostream>
    #include <iomanip>

    using namespace std;

    bool inarray(int n, int dim, int *arr){
    for(int i=0; i<dim; i++){
    if(n == *(arr+1))
    return true;
    }

    return false;

    }

    void main(){
    int* S;
    int N;
    int p = 2;
    int dim,i,o;
    int index=1;
    int aktion;

    cout <<"\n\nUm das Programm zu Starten ";
    system("Pause");
    cout <<"\n\n";
    {

    cout << "Bis zu welcher oberen Grenze sollen die Primzahlen berechnet werden ?\n";
    cin >> N;

    dim = N*N;

    S = new int[dim];

    for(i=0; i<dim; i++)
    S[i] = 0;

    S[0] = 1;

    while(pp <= N){
    for(int i=2; i<=N; i++,index++)
    S[index] = i
    p;

    do{
    p++;
    }while(inarray(p,dim,&S[0]));
    }

    o=0;
    for(i=1; i<=N; i++){
    if(!inarray(i, dim, &S[0])){
    cout << setw(4) << i;
    o++;
    cout << ((o % 10 == 0) ? "\n": " ");
    }
    }
    }

    cout <<"\n\nEnd of Programm: ";
    system("Pause");
    cout <<"\n\t\t ";

    }



  • würde um codetags bitten!

    Und void main() wollen wir nicht sehen.... 😡



  • #include <iostream>
    #include <iomanip>

    using namespace std;

    bool inarray(int n, int dim, int *arr){
    for(int i=0; i<dim; i++){
    if(n == *(arr+1))
    return true;
    }

    return false;

    }

    void main(){
    int* S;
    int N;
    int p = 2;
    int dim,i,o;
    int index=1;
    int aktion;

    cout <<"\n\nUm das Programm zu Starten ";
    system("Pause");
    cout <<"\n\n";
    {

    cout << "Bis zu welcher oberen Grenze sollen die Primzahlen berechnet werden ?\n";
    cin >> N;

    dim = N*N;

    S = new int[dim];

    for(i=0; i<dim; i++)
    S[i] = 0;

    S[0] = 1;

    while(pp <= N){
    for(int i=2; i<=N; i++,index++)
    S[index] = i
    p;

    do{
    p++;
    }while(inarray(p,dim,&S[0]));
    }

    o=0;
    for(i=1; i<=N; i++){
    if(!inarray(i, dim, &S[0])){
    cout << setw(4) << i;
    o++;
    cout << ((o % 10 == 0) ? "\n": " ");
    }
    }
    }

    cout <<"\n\nEnd of Programm: ";
    system("Pause");
    cout <<"\n\t\t ";

    }



  • lol?

    code tags bitte!

    den code in cpp codetags einfassen!

    Sieht dann so hier aus:

    int main()
    {
    int blubb;
     return 0;
    }
    


  • Sorry bin noch neu hier wie mach ich das mit den Code Tags ?



  • Beim Abschreiben der Funktion inarray ist dir wohl ein Fehler unterlaufen.



  • bool inarray(int n, int dim, int *arr)
    {
        for (int i=0; i<dim; i++)
        {
            if (n == arr[ i ])
                return true;
        }
        return false;
    }
    

    Banni schrieb:

    Sorry bin noch neu hier wie mach ich das mit den Code Tags ?

    Da schaust du mal unter das Edit Fenster, dort gibt's einen Button auf dem C/C++ steht.


Anmelden zum Antworten