Array sortieren nach Wert
-
Nexus schrieb:
Würde es nicht reichen, ein Array zu haben? Oder wie meinst du das genau mit den Stellen?
Ja schon, aber ist das dann nicht noch koplizierter?
Naja, ich will nur, dass ich die 3Felder in 1Feld kopiere(oder verschiebe) und das geordnet
-
VirusMaker schrieb:
Ich kenne mich nicht mit Vektoren aus, also verstehe ich das Beispiel nicht, kannst du mir bitte sagen, wie ich das in meinen Fall machen muss???
Die Sortierfunktion kann auch auf Arrays angewendet werden:
int Array[7] = {3, 1, 5, 7, 6, 2, 4}; std::sort(Array, Array+7);VirusMaker schrieb:
Naja, ich will nur, dass ich die 3Felder in 1Feld kopiere(oder verschiebe) und das geordnet
Vielleicht habe ich das auch falsch verstanden. Also was hast du für 3 Arrays, und wie sollen die genau zu einem zusammengefasst werden?
-
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::vectoroder 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äsststd::sortvon 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 ausgebenWollte 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