Mehrer chars zusammenfassen



  • Hallo, ich habe mehrere chars aus denen ich einen einzigen machen will! Da ich die chars hochzähle kommen C++ Strings nicht in Frage.

    #include "stdafx.h"
    #include <iostream>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char ch1, ch2, ch3, ch4, ch5, ch6;
    
    	for(ch1 = 'a'; ch1 <= 'z'; ch1++)
    		for(ch2 = 'a'; ch2 <= 'z'; ch2++)
    			for(ch3 = 'a'; ch3 <= 'z'; ch3++)
    				for(ch4 = 'a'; ch4 <= 'z'; ch4++)
    					for(ch5 = 'a'; ch5 <= 'z'; ch5++)
    						for(ch6 = 'a'; ch6 <= 'z'; ch6++)
    							std::cout << ch1 << ch2 << ch3 << ch4 << ch5 << ch6 << std::endl; // Das funktioniert aber hier hätte ich gerne nur eine Variable!
    	system("Pause");
    	return 0;
    }
    


  • Du könntest doch ein char-Array aufbauen und davon das erste Element in der ersten Schleife hochzählen, das zweite in der zweiten Schleife usw.



  • Wie wärs mit:

    int main() 
    { 
        char blub[7];
        blub[6] = '\0';
    
        for(blub[0] = 'a'; blub[0] <= 'z'; ++blub[0])
          for(blub[1] = 'a'; blub[1] <= 'z'; ++blub[1])
            for(blub[2] = 'a'; blub[2] <= 'z'; ++blub[2])
              for(blub[3] = 'a'; blub[3] <= 'z'; ++blub[3])
                for(blub[4] = 'a'; blub[4] <= 'z'; ++blub[4])
                  for(blub[5] = 'a'; blub[5] <= 'z'; ++blub[5])
                    ; // whatever
    }
    


  • Da ich die chars hochzähle kommen C++ Strings nicht in Frage.

    Das halte ich für ein Gerücht!
    Der oben genannte Ansatz geht auch mit einem C++ - String.



  • ZeroOne schrieb:

    Hallo, ich habe mehrere chars aus denen ich einen einzigen machen will!

    wtf?

    ZeroOne schrieb:

    Da ich die chars hochzähle kommen C++ Strings nicht in Frage.

    wtf?

    ZeroOne schrieb:

    int _tmain(int argc, _TCHAR* argv[])
    {
    	char ch1, ch2, ch3, ch4, ch5, ch6;
    
    	for(ch1 = 'a'; ch1 <= 'z'; ch1++)
    		for(ch2 = 'a'; ch2 <= 'z'; ch2++)
    			for(ch3 = 'a'; ch3 <= 'z'; ch3++)
    				for(ch4 = 'a'; ch4 <= 'z'; ch4++)
    					for(ch5 = 'a'; ch5 <= 'z'; ch5++)
    						for(ch6 = 'a'; ch6 <= 'z'; ch6++)
    							std::cout << ch1 << ch2 << ch3 << ch4 << ch5 << ch6 << std::endl; // Das funktioniert aber hier hätte ich gerne nur eine Variable!
    	system("Pause");
    	return 0;
    }
    

    Ich verstehe die Frage jetzt so, dass Du nach einer eleganteren Variante suchst, die zur gleichen Ausgabe führt. So etwas ähnliches hatten wir gestern erst. Siehe hier (btw: statt des vectors kann man da auch string nehmen :p ).

    kk


Anmelden zum Antworten