Array sortieren nach Wert



  • Ne, ich habe das so gemeint:

    1 Array
    Feld 0 )
    Feld 1 ) kopieren nach neue Array
    Feld 2 )

    die 3 zusamme in ein Feld einer neuen Array

    und noch was, wie mach ich aus char-Array einen String
    denn string a=charA[1] geht nicht!



  • VirusMaker schrieb:

    Ne, ich habe das so gemeint:

    1 Array
    Feld 0 )
    Feld 1 ) kopieren nach neue Array
    Feld 2 )

    die 3 zusamme in ein Feld einer neuen Array

    Du meinst, du willst alle Elemente aneinanderhängen? Das ist mit Arrays mühsam, dafür nimmst du besser std::vector oder einen anderen Container. Falls du es unbedingt mit Arrays machen willst, deklarierst du eben eines mit genügender Grösse, fügst die Elemente nacheinander ein und lässt std::sort von Anfang bis Ende sortieren.

    VirusMaker schrieb:

    und noch was, wie mach ich aus char-Array einen String
    denn string a=charA[1] geht nicht!

    So:

    char CString[] = "Hallo";
    std::string String = CString;
    


  • [quote="Nexus]So:

    char CString[] = "Hallo";
    std::string String = CString;
    

    [/quote]

    ich wollte damit eigendlich meine 3 Zahlen aus meinen Feldern in eine string schreiben, sie mit string.append verbinden und dann sie mit atof in die neue int-Array schreiben



  • Ah so. Dann sag doch das. 😉

    int Zahl1, Zahl2, Zahl3;            // deine 3 Zahlen
    int Resultat;                       // dein Ergebnis (kann auch das Array-Element sein)
    
    std::stringstream Stream;           // StringStream anlegen
    Stream << Zahl1 << Zahl2 << Zahl3;  // Zahlen einlesen
    Stream >> Resultat;                 // Zahlen ausgeben
    


  • VirusMaker schrieb:

    ich wollte damit eigendlich meine 3 Zahlen aus meinen Feldern in eine string schreiben, sie mit string.append verbinden und dann sie mit atof in die neue int-Array schreiben

    Warum hast du das denn nicht schon von Anfang an so geschrieben?!



  • Nexus schrieb:

    Ah so. Dann sag doch das. 😉

    int Zahl1, Zahl2, Zahl3;            // deine 3 Zahlen
    int Resultat;                       // dein Ergebnis (kann auch das Array-Element sein)
    
    std::stringstream Stream;           // StringStream anlegen
    Stream << Zahl1 << Zahl2 << Zahl3;  // Zahlen einlesen
    Stream >> Resultat;                 // Zahlen ausgeben
    

    Wollte es jetzt so schreiben:

    std::stringstream Stream;
    Stream << punkte[0] << punkte[1] << punkte[2];
    Stream >> liste[1];
    

    doch 1.) stringstream kennt er nicht(welcher Header)
    2.)wie soll ich aus meiner punkte[0] ein int machen (achtung kein *punkte)



  • #include <sstream>
    

    Was hast dann punkte[0] für einen Typen?!

    Zeig sonst doch mal ein wenig Code. Aus deinen Beschreibungen werde ich nicht wirklich schlau..



  • VirusMaker schrieb:

    2.)wie soll ich aus meiner punkte[0] ein int machen (achtung kein *punkte)

    Ist es denn so schwer, sich vernünftig auszudrücken? drakon und ich sind jetzt schon den ganzen Thread am Raten... 🙄

    Beschreibe konkret, wo dein Problem liegt. Am besten benutzt du ein Stück Code zur Veranschaulichung...



  • Nexus schrieb:

    VirusMaker schrieb:

    2.)wie soll ich aus meiner punkte[0] ein int machen (achtung kein *punkte)

    Ist es denn so schwer, sich vernünftig auszudrücken? drakon und ich sind jetzt schon den ganzen Thread am Raten... 🙄

    Beschreibe konkret, wo dein Problem liegt. Am besten benutzt du ein Stück Code zur Veranschaulichung...

    char punkte[100];
    punkte[1]='1';
    

    wie mache ich aus punkte[1], die die Zahl 1 enthält(oder den Ascii-Code davon) eine int zu machen

    int zahl=punkte[1];
    

    geht nicht!



  • #include <sstream>
    ...
    
    std::stringstream s;
    char c = '1';
    int c_i = 0;
    s << c;
    s >> c_i;
    
    std::cout << i; // gibt 1 aus
    

Anmelden zum Antworten