WhiteShark
Admiral
- Registriert
- Mai 2002
- Beiträge
- 9.949
nabend,
also fürs studium müssen wir mit cstrings ein programm machen, was den string durchsuchen kann, jeden buchstaben zählen kann, usw.
nun das problem fängt schon mit der eingabe an. da wir ganze sätze einlesen wollen (mit leerzeichen), wollte wir des mit cin.getline() machen.
problem dabei ist, das nur mit dieser funktion garnix passiert.
also haben wir folgende lösung:
dabei wird allerdings das erste wort im satz verschluckt. und wir ham jetzt keine ahnung wie wir des machen, das er korrekt einließt.
dann müssen wir für paar schleifen die anzahl der zeichen im ctring zählen. das sollte ja mit strlen() gehen, allerdings zählt der nur bis zum ersten leerzeichen.
hattens auch schon mit ner schleife versucht, die ne variable hochzählt und sobald der buchstabe '\0' ist abbricht. aber auch das zählt nur bis zum leerzeichen.
die einzelnen wörter soll man auch sortieren können.
also das aus dem satz "hallo wie geht es dir" eben "dir es geht hallo wie" wird.
wollten dazu bubblesort nehmen, aber irgendwie verschwinden dann immer wörter und sortiert wird auch nicht.
bin langsam so leicht am verzweifeln, weil nix so funktioniert wie es soll und wir nurnoch bis freitag zeit haben.
ich hoffe mir kann jemand helfen.
danke schonmal
mfg
crazy
also fürs studium müssen wir mit cstrings ein programm machen, was den string durchsuchen kann, jeden buchstaben zählen kann, usw.
nun das problem fängt schon mit der eingabe an. da wir ganze sätze einlesen wollen (mit leerzeichen), wollte wir des mit cin.getline() machen.
problem dabei ist, das nur mit dieser funktion garnix passiert.
also haben wir folgende lösung:
Code:
cin >> wort;
cin.getline(wort,255,'\n');
dabei wird allerdings das erste wort im satz verschluckt. und wir ham jetzt keine ahnung wie wir des machen, das er korrekt einließt.
dann müssen wir für paar schleifen die anzahl der zeichen im ctring zählen. das sollte ja mit strlen() gehen, allerdings zählt der nur bis zum ersten leerzeichen.
hattens auch schon mit ner schleife versucht, die ne variable hochzählt und sobald der buchstabe '\0' ist abbricht. aber auch das zählt nur bis zum leerzeichen.
die einzelnen wörter soll man auch sortieren können.
also das aus dem satz "hallo wie geht es dir" eben "dir es geht hallo wie" wird.
wollten dazu bubblesort nehmen, aber irgendwie verschwinden dann immer wörter und sortiert wird auch nicht.
Code:
satz[0] = strtok(wort," ");
i = 1;
while (i<=30){
satz[i] = strtok(NULL, " ");
i++;
}
anzahl=0;
while(satz[anzahl]!='\0')
{
anzahl++;
}
for (int i=0;i<=anzahl;i++)
{
for (int j=0;j<=anzahl;j++)
{
if (strncmp(satz[j],satz[j+1],2) <0)
{
temp=satz[j];
satz[j]=satz[j+1];
satz[j+1]=temp;
}
}
}
bin langsam so leicht am verzweifeln, weil nix so funktioniert wie es soll und wir nurnoch bis freitag zeit haben.
ich hoffe mir kann jemand helfen.
danke schonmal
mfg
crazy
Zuletzt bearbeitet: