Arrays alphabetisch sortieren...
-
Hallo,
hab mir deinen Code jetzt nicht angesehen, aber wenn du C++ benutzt, kannst du bereits sehr viele vordefinierte Funktionen und Klassen benutzen:
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string test = "bjkvbhdkjfhek"; sort(test.begin(), test.end()); cout << test << endl; }
-
-
#include <iostream> #include <string> #include <vector> #include <algorithm> #include <conio.h> using namespace std; int main() { const int N = 10; string s; vector<string> v; for(int i=0; i<N; ++i) { cout << "Please enter string: "; cin >> s; v.push_back(s); } sort(v.begin(), v.end()); cout << endl; for(vector<string>::iterator it = v.begin(); it!=v.end(); ++it) cout << *it << endl; getch(); }
-
Erstmal danke für die Antworten!
Mit den Codestücken kann ich aber leider insofern nix anfangen, da ich nicht weiß was einzelne Befehle auslösen. Vorallem bei CarstenJ bringt er mir Fehlermeldungen wenn ich statt einem einzelnen String ein Array verwende, und zwar in der Zeile:
sort(test.begin(), test.end());
und verweißt da auf die klammern... Was muss da drin stehen, bzw was lösen Zahlen oder Zeichen in den Klammern hinter "beginn" und "end" aus?
Ich hoff ihr könnt mir helfen!
Grüße aus Nürnberg
-
Nimm kein array, sondern std::vector (#include <vector>)
-
Ergänzung: Es ist fast generell eine schlechte Idee, C-Arrays zu benutzen. C-Arrays kommen, wie der Name schon sagt, aus C und was aus C kommt, ist meistens nicht so toll.
Bei vectoren hast du Iteratoren, Wachstungsfähigkeit, du hast ein venünftiges Objekt und die Fähigkeit, dir ne Indexprüfung einzubauen.
Wenn Performance wichtig ist und vector sich als langsam herausstellen sollte, kann man im Notfall noch boost::array nehmen.
Aber für C-Arrays spricht IMHO fast gar nichts.
-
Ok, danke für die schnellen Antworten! Ich werd mich in Sachen Vectoren jetz mal schlau machen weil das war mir wie gesagt neu!
Meld mich dann wieder!
Edit: Kann mir jemand ne Seite empfehlen oder vielleicht sogar erklären was std::vector genau is, bzw wie es funktioniert? Noch finde ich nicht wirklich eindeutige Erklärungen dazu!
-
Also ich soll es ohne Vectoren machen... nur mit stinknormalen arrays... gibts da überhaupt ne möglichkeit oder will der mich ver*rschen?
-
Oliabt schrieb:
Also ich soll es ohne Vectoren machen... nur mit stinknormalen arrays... gibts da überhaupt ne möglichkeit oder will der mich ver*rschen?
Auch damit ist das moeglich:
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { char test[] = "bjkvbhdkjfhek"; sort(test, test+strlen(test)); cout << test << endl; }
mfg
v R
-
Auch das funktioniert nicht wenn ich Strings statt chars verwenden möchte... und dafür brauch ich dir funktion eben ja
er gibt mir sofort Fehlermeldungen wenn ich statt den chars strings verwenden will...