titel



  • nachrichtentext



  • So wie ich verstanden habe, sollen also die einzelnen Ziffern einer Zahl als Elemente in einem Array aus Integerzahlen stehen. Falls ich dich richtig verstanden haben sollte, dann würde ich das ganze mittels eines std::stringstream s lösen:

    //main.cpp
    #include <iostream>
    #include <sstream>
    
    void funktion(int *dynfeld, int laenge, int zahl);
    
    int main() 
    { 
    	int zah = 1234;
    	int laeng = 4;
    	int *fel = new int[laeng];
    
        funktion(fel, laeng, zah); 
    
    	std::cout << "integer = " << zah << std::endl << "diese integer im feld = "; 
    
        for(int i = 0; i != laeng; ++i) {
    		std::cout << fel[i];
    	} 
    	std::cout << std::endl;
    	// Speicher freigeben
    	delete [] fel;
    
    	return 0;
    }
    
    void funktion(int *dynfeld, int laenge, int zahl)
    {
    	for(int i = 0; i != laenge; ++i) {
    		std::stringstream konverter;
    		konverter << zahl;		      			 // komplette Zahl in stringstream einlesen
    		konverter.str(konverter.str().substr(i, 1)); // stringstream auf einzelne Ziffer setzen
    		konverter >> dynfeld[i];					 // ab mit der Ziffer ins Array
    	}
    }
    

    Wie man sieht habe ich mich etwas an deinem gepostetem Code orientiert ;). Womöglich gibt es auch noch bessere Möglichkeiten dies zu bewerkstelligen, als mit einem std::stringstream :).


Anmelden zum Antworten