ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
4147
4147
EMPFEHLEN
-
Hallo, ich hab eine Frage bezüglich Strings. Und zwar hab ich ein String array[] vorliegen und unter jedem Arraypunkt sind 4 bis 5 Wörter gespeichert. Ich such da nun nach einer Möglichkeit, das letzte Wort als erstes auszugeben.
Beispiel
array[1]=" rot, gruen, blau, gelb, schwarz";
//jetzt wird geändert
array[1] =" schwarz, rot, gruen, blau, gelb";
Kann mir jemand nen Tipp geben, wie man das möglichst einfach hinbekommt? Danke
-
mit C (ich nehm mal an kein C++ sonst würdest du bestimmt strings dazu nehmen)
kannst du per sscanf() nach den Kommas suchen und die und jedes wort drumherum extra in
ein char array speichern, danach gemütlich in das array neu einsortieren
(übrigens kannst du nicht array[1] = " viel text" eingeben - denn die 1 bedeutet in dem Fall das es nur 2 elemente haben darf - so erhälst du Speicherüberläufe)
-
06.06.05 15:55 #3
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Anders als thoomy gehe ich mal davon aus das du String benutzt, da du es ja so geschrieben hattest.
Du brauchst einfach ne Schleife und gut is:
Code :1 2 3 4 5 6 7
string array[10]; //array mit Wörtern füllen... for(int i=9; i>=0; i--) cout<< array[i].c_str();
mfg
umbrasaxum
-
Hallo,
@thoomy: Raetsel hat nicht geschrieben von welchem Typ seine var. array ist...
@umbra:
Bei dir werden die Wörter einfach in der umgedrehten Riehenfolge ausgegeben...
Ich nehme mal an Raetsel will einen Rotation seines Wortes nach rechts...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#include <iostream> using namespace std; /** * rotates the subwords in a given word rightwards. * @param toRotate the word which should be rotated rightwards (inout para) * @param word_delim the delimitator which divides the word in to subwords */ void rwr(string& toRotate, const string& word_delim){ string::size_type del_pos = toRotate.rfind(word_delim); if(del_pos != string::npos){ string rot = toRotate.substr(del_pos); toRotate.replace(del_pos,rot.size(), ""); toRotate.insert(0, rot.substr(word_delim.size()) + word_delim); } } int main(){ string word = "rot,gruen,blau,gelb,schwarz"; cout << word << endl; rwr(word, ","); cout << word << endl; return 0; }
Geht bestimmt auch einfacher also einfachere Lösung sind willkommen...
Gruß
RedWingGeändert von RedWing (06.06.05 um 16:03 Uhr)
"I'm not deaf, I'm ignoring you"
----
-
06.06.05 16:03 #5
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Stimmt hab überlesen das er nur das letzte Wort nach vorne haben will.
mfg
umbrasaxum
-
fürs archiv: bitte alle die fragen erst richtig lesen bevor sie antworten.. vor allem ich
-
hallo, danke für die zahlreichen antworten, allerdings hab ich noch eine frage nun
und zwar, zum c_str(); ich hab da jetzt mal nach gesucht und kann nicht so recht ne definition finden, was das genau macht....for(int i=9; i>=0; i--)
cout<< array[i].c_str();
-
07.06.05 12:43 #8
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Das brauchst du manchmal, für "Dinge" die nciht richtig mit basic_strings umgehen können.
Definition:
Zitat von MSDN
mfg
umbrasaxum
Ähnliche Themen
-
Einen String umdrehen und vergleichen
Von FaNo86 im Forum C/C++Antworten: 6Letzter Beitrag: 10.11.09, 07:50 -
satz umdrehen
Von v3rst0rk3r im Forum C/C++Antworten: 4Letzter Beitrag: 11.04.06, 17:27 -
Postkarte umdrehen ?!
Von dariel im Forum Creative LoungeAntworten: 4Letzter Beitrag: 31.12.05, 12:17 -
Bilderfolge umdrehen ?
Von BeaTBoxX im Forum Flash PlattformAntworten: 1Letzter Beitrag: 21.11.03, 22:48 -
String umdrehen
Von ShinmA im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 23.09.03, 13:22





Zitieren
Login






