Liebes Forum,
Zur Übung mochte ich folgendes Beispiel lösen. Ich Programmiere noch nicht sehr lage, somit Fällt es mir schwer den "Anfang" zu finden.
Mir ist klar das ich mit "int *TextSammlung = new int
;" den Speicher für n Texte reserviere.
Jedoch scheitere ich am Einlesen der Texte ohne des C++ Strings. Ich bin auch überfordert beim befüllen der Datenstrucktur.
Da ich bei der bevorstehenden Prüfung Beispiele dieser Art lösen muss bin ich für jede Hilfe dankbar. Für das 2 Semester Elektronik erscheint mir dieses Beispiel auch ziemlich schwierig.
Zum Beispiel:
Schreiben Sie ein Programm, das einen positiven ganzzahligen Wert n ≥ 6 einliest. Anschließend reservieren Sie Speicher für ein Array TextSammlung von n Pointern auf die folgende Datenstruktur:
struct TextBlock
{
char * Text;
size_t Laenge;
};
Lesen Sie nun n Texte beliebiger Längen ein (Leerzeichen in den Texten sollen erlaubt sein), und befüllen Sie die Datenstruktur entsprechend mit dem Text und seiner Länge (Vergessen Sie nicht, sowohl für den Text als auch für die Struktur selbst Speicher zu allokieren!). Geben Sie dann jeden Text und seine Länge mit cout übersichtlich formatiert aus. Vertauschen Sie im Anschluss die ersten 3 mit den letzten 3 Texten mit Hilfe einer geeigneten Funktion, die in einem eigenen Sourcemodul definiert ist und geben Sie das Ergebnis erneut aus. Achten Sie auf korrekte Definitionen und Deklarationen aller notwendigen Elemente.
Randbedingungen:
1) Die Verwendung der C++-Klasse string ist nicht erlaubt.
2) Verwenden Sie nur new zur Speicherallokation, nicht malloc()!
3) Vertauschen heißt nicht Kopieren...
Zur Übung mochte ich folgendes Beispiel lösen. Ich Programmiere noch nicht sehr lage, somit Fällt es mir schwer den "Anfang" zu finden.
Mir ist klar das ich mit "int *TextSammlung = new int

Jedoch scheitere ich am Einlesen der Texte ohne des C++ Strings. Ich bin auch überfordert beim befüllen der Datenstrucktur.
Da ich bei der bevorstehenden Prüfung Beispiele dieser Art lösen muss bin ich für jede Hilfe dankbar. Für das 2 Semester Elektronik erscheint mir dieses Beispiel auch ziemlich schwierig.
Zum Beispiel:
Schreiben Sie ein Programm, das einen positiven ganzzahligen Wert n ≥ 6 einliest. Anschließend reservieren Sie Speicher für ein Array TextSammlung von n Pointern auf die folgende Datenstruktur:
struct TextBlock
{
char * Text;
size_t Laenge;
};
Lesen Sie nun n Texte beliebiger Längen ein (Leerzeichen in den Texten sollen erlaubt sein), und befüllen Sie die Datenstruktur entsprechend mit dem Text und seiner Länge (Vergessen Sie nicht, sowohl für den Text als auch für die Struktur selbst Speicher zu allokieren!). Geben Sie dann jeden Text und seine Länge mit cout übersichtlich formatiert aus. Vertauschen Sie im Anschluss die ersten 3 mit den letzten 3 Texten mit Hilfe einer geeigneten Funktion, die in einem eigenen Sourcemodul definiert ist und geben Sie das Ergebnis erneut aus. Achten Sie auf korrekte Definitionen und Deklarationen aller notwendigen Elemente.
Randbedingungen:
1) Die Verwendung der C++-Klasse string ist nicht erlaubt.
2) Verwenden Sie nur new zur Speicherallokation, nicht malloc()!
3) Vertauschen heißt nicht Kopieren...