[c] Zeichenketten, Stringfunktionen

satyja

Grünschnabel
Ich verzweifel hier noch... finde irgendwie kein lösungsansatz, kann mir hier vielleicht jemand helfen?

"Erstellen Sie ein ausführlich dokumentiertes Programm, das folgendes leistet:
Es soll vom Benutzer ein einzeiliger Text mit maximal 300 Zeichen (falls der Text länger ist, sollen die ersten 300 Zeichen eingelesen werden) eingelesenen werden. In diesem Text sind die Worte durch Leerzeichen getrennt. Mehrere Leerzeichen sind wie eins anzusehen. In dem Text sollen nun die Worte einzeln, eins je Zeile ausgegeben werden. Das alphabetisch (bzgl. ASCII-Alphabet) erste soll dabei als (Erstes Wort) und das alphabetisch letzte als (Letztes Wort) gekennzeichnet werden. Außer dem Char-Vektor, der zum Einlesen genutzt wird, darf kein weiterer Char-Vektor genutzt werden, wohl aber weitere Zeiger.
Es sollen mindestens 3 Funktionen verwendet werden.
Hinweis: Wird eine Zeigerposition im Parameter verändert, muß ein Zeiger auf einen Zeiger verwandt werden.
Stichworte: Zeichenketten, Stringfunktionen"

danke
gruß satyja
 
für mich ist es eben kein kinderspiel... habe bis jetzt noch gar nichts... habe mit c nicht viel am hut, liegt mir irgendwie nicht, hast du denn keine idee die du mal posten kannst... nur so grob :) wäre dir echt dankbar...
 
moin


Erstmal eine Zeile einlesen:
Code:
char *zeile;
getline(zeile, 300, '\n');

Dann Wort nacheinander ausgeben ist nun wirklich kein Ding, wie man nach durch Leerzeichen getrennt Worte sucht wurde hier in lketzter eit ein paar mal besprochen.

Und erstes und letztes Wort suchen, könntest du mit Bubblesort machen, oder du nimmst ein Wort ud guckst ob der Anfangsbuchstabe des nächsten Wortes kleiner bzw. größer ist. Bei gleichen Anfangsbuchstaben nimmst halt den zweiten Buchstaben.


mfg
umbrasaxum
 
umbrasaxum hat gesagt.:
Erstmal eine Zeile einlesen:
Code:
char *zeile;
getline(zeile, 300, '\n');
In der Form sicher nicht ;) Erstens wurde kein Speicher für die Zeichenkette allokiert und zweitens ist getline AFAIK eine Funktion aus der C++ Stdlib (hier geht es um C).

So wäre es vielleicht besser:
Code:
#include <stdio.h>

int main()
{
	char szZeile[300];

	fgets(szZeile, 300, stdin);
}
 
moin


Ja gut, das müsste man dann noch aufn Heap packen.
Oder gibbet das unter C auch noch nicht?

Darf es denn wirklich nur C sein?


mfg
umbrasaxum
 
ja, nur c! kannst du das vielleicht trotzdem noch mal erklären mit den leerzeichen, habe gerade in älteren posts gesucht, aber leider nichts gefunden...
 
moin


Was ist denn das Problem?

Du machst ne Schleife und gibst Wort für Wort aus, und bei jedem Leerzeichen machst du ein \n.

Ein bischen eigeninitiative bitte.


mfg
umbrasaxum
 
umbrasaxum hat gesagt.:
moin


Was ist denn das Problem?

Du machst ne Schleife und gibst Wort für Wort aus, und bei jedem Leerzeichen machst du ein \n.

Ein bischen eigeninitiative bitte.


mfg
umbrasaxum

naja, habe nun mit einer freundin gesprochen, sollte dass nun hinbekommen, hoffe ich.

aber nur weil man es nicht versteht, oder genau das thema nicht mehr findet muss man ja nicht gleich so ein "ton" anschlagen...

trotzdem noch mal danke...
 
moin


War nciht böse gemeint, nur bis jetzt kommt das so rüber als würdest du deine Hausaufgaben gemacht haben wollen.
Guck wie weit du selber kommst und wenns nciht so läuft wie du möchtest, dann frag.


mfg
umbrasaxum
 
Zurück