Geschachtelte Schleifen...



  • Wie kann ein Benutzer eingeben, wie viele geschachtelte Schleifen durchlaufen werden?

    zB...

    wenn 1 eingegeben wird...
    for(...)
    {
    }

    eingabe 2:
    for(...)
    {
    for(...)
    {
    }
    }

    usw... geht das ohne immer neu zu kompilieren?
    *blackout*



  • #include <iostream>
    
    int main ()  {
      int count;
    
      std::cout << "Schleifendurchlaeufe: ";
      std::cin >> count;
    
      for ( int i = 0; i < count; ++i )  {
        // deine schleife
      };
    
      return 0;
    };
    

    was auch immer



  • chille07 schrieb:

    Wie kann ein Benutzer eingeben, wie viele geschachtelte Schleifen durchlaufen werden?

    gar nicht. aber man kann effekte erzielen, die so ähnlich aussehen:
    //code ungetestet

    int size=5;//verschachtelungsteife ist zugleich passwortlänge
    char* data=new char[size+1];//+1 und
    for(int i=0;i<size;++i)
       data[i]='a';
    data[size]='\0';//terminator für einfaches ausgeben und strcmp
    do{
       int p=0;
       while(++data[p]=='z')
          data[p]='a',++p;
       data[size]='\0';//ich hoffe, das muss ich meinem lehrer nicht erklären
       cout<<data;
    }while(strcmp(data,"aaaaa")!=0);//solange kilometerzähler nicht wieder bei 00000
    delete[] size;
    

    das hier war nachbildung eines mechanischen kilometerzählers, wo immer, wenn ein rad von 9 auf 0 springt, das nächste rad mitgenommen wird.

    die andere üblicher version geht mit ner rekursiven funktion.

    void print(char* data,int tiefe,int maxtiefe){
       if(tiefe==maxtiefe)
          cout<<data;
       else
          for(data[tiefe]='a';data[tiefe]!='z';++data[tiefe])
             print(data,tiefe+1,maxtiefe);
    }
    


  • void loop(int depth)
    {
    	if(depth)
    	{
    		for(int i=0; i<10; ++i)
    		{
    			loop(depth-1);
    		}
    	}
    }
    
    int main()
    {
    	loop(5);
    }
    


  • Ich möchte, das man eingeben kann, wieviele Stellen "überprüft" werden sollen.

    Überprüfen heisst:

    ALLE mäglichen alphanumerischen und Sonder- Zeichen sollen durchprobiert werden.

    dh...
    (nur ein bsp wenn 5 eingegeben wird)
    10000
    10001
    10002
    10003
    10004
    10005
    10006....

    wenn aber 3 eingegeben wird:
    100
    101
    102
    103
    104
    105
    106
    107
    108....

    *vielleicht kann mir da jemand einen Tipp geben*

    (ich probiers mal alla "MFK")


Anmelden zum Antworten