Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Spiegeln eines strings

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
11.05.2004, 17:37 Uhr
chrisuni



Hab noch was ^^... ich weiß das dieser code vollkommen falsch ist..
:

C++:
#include <iostream>
using namespace std;
char spiegeln (char x);

int main()
{
char Wort[4];
cout << "\nBitte geben Sie ein Wort ein: ";
gets(Wort);
cout << "\n Das Wort lautet: " << Wort;
spiegeln (Wort);
return 0;
}


char spiegeln (char x)
{
int i;
int a;

a = strlen(x);


for (i=0;i<a;i++)
char [x] -= a;
}






Kann mir einer nen Tip für die Funktion spiegeln geben wie ich es hinbekomme das er mit den letzen Buchstaben vor der '/0' an erste stelle schreibt und anschließend weiter spiegelt... geht das irgendwie in kombination mit strlen oder bin ich da vollkommen auf dem falschen weg...
P.S. bitte keine Lösung möchte versuchen selbst drauf zukommen, mir würde schon eine Erklärung reichen (hoffe ich ) ohne code...
--
gruß chris

nehmts mir net übel ich bin nen Anfänger und seh manchmal den Wald vor lauter Bäumen nicht mehr ;)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.05.2004, 18:32 Uhr
typecast
aka loddab
(Operator)


Ich versuche dir mal nicht zu viel zu sagen: Nimm eine zweites Char-Array...

Dann noch was. Du programmierst in C++. Da steht dir die Klasse std::string zur Verfügung. Mit der kann man viel einfacher mit Strings umgehen als mit char*
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.05.2004, 18:40 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne das jetzt zu wissen aber ich würde glatt vermuten das std::string schon ein spiegeln als funktion abietet und wenn nicht kann man es mit stl-funktionen bestimmt leicht abbilden
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.05.2004, 21:10 Uhr
~chrisuni
Gast


mhh, ich wollte das ohne irgendwelche Hilfsmittel implementieren, denke so wird es auch von meinem Prof gewünscht... nur das mit den 2 Array ist nen bissel wenig... wie soll ich das denn machen....
ich kenne nur das auslesen mit gets (wort) nur wie komme ich an die einzelnen Buchstaben ran, das ich die vertauschen kann ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.05.2004, 22:28 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du musst nur ne schliefe laufen lassen die das letzte element mit dem ersten vertauscht, dann das vorletzte mit dem 2. usw...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.05.2004, 22:40 Uhr
(un)wissender
Niveauwart


Ist es das was du willst?


C++:
#include <iostream>
#include <algorithm>
#include <string>

int main()
{  
     std::string s = "Hallo";
     std::cout << s << std::endl;
     std::reverse(s.begin(), s.end());
     std::cout << s << std::endl;
     return 0;
}


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.05.2004, 22:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender
*lol*
ich wusste doch das du gleich wieder auswendig weisst wie es geht... Hast du dir STL-Klopapier besorgt
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.05.2004, 02:54 Uhr
0xdeadbeef
Gott
(Operator)


Und in C halt so:

C++:
char *spiegeln(char *buf, size_t buflen, char *src) {
  char *p, q;
  for(p = buf, q = src + strlen(src); p - buf < buflen; ++p, --q)
    *p = *q;
  *p = 0;
  return buf;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 12.05.2004 um 02:54 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.05.2004, 07:51 Uhr
(un)wissender
Niveauwart


@Windalf
Ich habe jetzt auch STL-Bettwäsche...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.05.2004, 09:42 Uhr
chrisuni




C++:
#include <iostream>
#include <algorithm>
#include <string>

int main()
{  
     std::string s = "Hallo";
     std::cout << s << std::endl;
     std::reverse(s.begin(), s.end());
     std::cout << s << std::endl;
     return 0;
}






Das sieht ja schonmal gut aus... ich muss nur alles was ich implementieren soll ohne Hilfsmittel wie : algorithm.h, string.h etc machen :/....

das einzige wie ich meinen code beginnen darf ist:

C++:

#include <iostream>
using namespace std;



Im Übrigen hat jmd noch einen Tip, wie ich es ganz simpel schaffe ein C++ Programm in einen C Code umzuschreiben.. gibts da nen trick bei :P ?
--
gruß chris

nehmts mir net übel ich bin nen Anfänger und seh manchmal den Wald vor lauter Bäumen nicht mehr ;)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: