satz umdrehen

v3rst0rk3r

Grünschnabel
hallo erstmal,

gleich vorweg, ich habe fast keine ahnung von c/c++. Ich muss für die schule ein programm schreiben das den inhalt eines strings umdreht. jedoch nicht so:

eingabe: Heute scheint die sonne
Ausgabe: ennos eid tniehcs etueh

sondern so:

eingabe: Heute schein die sonne
ausgabe: etueh niehcs eid ennos

habe versucht dieses programm irgendwie anzupassen, habs aber nicht hinbekommen.
Code:
#include <iostream>
using namespace std;

int main()
{
	char satz[127];
	char dreh[127];
	int j=0;

	cout<<"Bitte ein Wort oder einen Satz eingeben der gedreht werden soll."<<endl;
	cin.getline(satz,127);

	for(int i=strlen(satz)-1; i>=0; i--)
	{
		while(i!=` `)
		{
			dreh[j++] = satz[i];
		}
	}

	dreh[j] = '\0';
	cout<<dreh<<endl;
	return 0;
}

bin wirklich für jede hilfe dankbar.

gruß v3
 
Hi.

Also im Grunde mußt du erstmal das Ende eines Wortes finden und das Wort dann umgedreht in das Ausgabe-Array schreiben.

Aber auf welche Sprache legst du dich denn nun eigentlich fest, C oder C++?

Gruß
 
diese idee hatte ich auch schon, jedoch fehlt es mir an den programmierfähigkeiten sie umzusetzen. c/c++ ist mir egal, hauptsache es funktioniert.

gruß v3
 
Ok. Also in C++ geht das z.B. so:
C++:
#include <sstream>
#include <string>
#include <algorithm>

using namespace std;

istringstream istr ("Heute scheint die sonne");
string wort;

while (istr >> wort) {
  reverse(wort.begin(), wort.end());
  cout << wort << " ";
}

In C könnte man z.B. die Funktion strchr verwenden um nach einem Leerzeichen zu suchen und dann zu Fuß das Wort umdrehen.

Gruß
 
Zurück