Macro Funktioniert



  • Hallo, Wob, es funktioniert.

    Sag mir aber mal, was das macro beim summarischen Endausdruck bei 0 gezählt hat.

    #include <string>
    #include <fstream>
    #include <iostream>
    #include <cmath>
    #include <stdio.h>
    #include <vector>
    #include <list>
    using namespace std;
    
    int main(int argc, const char * argv[])
    {
        std::vector<int> NPZcontainer;
        std::vector<int> PZcontainer;
        std::vector<int> Laengen(30,0);
        int pzz=1; //Primzahlzähler
        int kettenzeler=0;
        int ketnz=1; // Kettennummerzähler
        int unpzz=1; // unger. Nichtprimzahlzähler
        int letztwert=1; // den braucht er um zu prüfen, ob eine Kette vorliegt.
        int x, i;
        int nrl=0;
        for (x = 3; x <= 30000; x=x+2)
        {
            for (i = 2; i < x; i++)
            {
                // std::cout<<i<< " =i "<<x<<" =x\n";
                if (x%i == 0)
                    break;
            }
    
            if (i==x) //Hier werden die PZ hergestellt
            {
                // std::cout<<i<<" = "<<pzz<<". Pz.\n";
                pzz++;
                PZcontainer.push_back(i);
                letztwert = 1;
            }
    
            if (x/i>1) //Hier werden die NPZ hergestellt
            {
    
                //std::cout<<x<<" = "<<unpzz<<". NPZ \n";
    
                NPZcontainer.push_back(x);
                unpzz++;
                letztwert = 0;
    
            }
    
            if(letztwert == 1)
            {
                for(auto it = NPZcontainer.begin(); it != NPZcontainer.end();it++) // Ausdruck
                {
                    // cout<<""<< *it<<" "; // Hier spuckt er die zahlenkette aus.
                    kettenzeler++;
                }
                int b = kettenzeler;
                ++Laengen[b];
                if (kettenzeler>0) // Hier stellt er den kettenzähler auf 0, wenn eine PZ kommt.
                {
                    cout<<NPZcontainer[0]<<" - "<<Laengen[b]<<". "<<kettenzeler<<"-er Kette\n";
                    cout<<"KetNr:"<<ketnz<<" ";
                    ketnz++;
                }
                NPZcontainer.clear();
                kettenzeler=0;
                //cout<<"\n";
            }
    
        }
        for(auto it = Laengen.begin(); it != Laengen.end();it++)
        {
            std::cout<<nrl<<". "<< *it<<" "<<nrl<<"-er Ketten\n ";// Hier spuckt er aus
    
            ++nrl;    }
        return 0;
    }
    

Anmelden zum Antworten