From 4bb2cb3996e4dc9006f918a4eb1d90d1d4f249ec Mon Sep 17 00:00:00 2001 From: Manuel Glock Date: Tue, 13 Oct 2026 12:37:26 +0200 Subject: [PATCH] =?UTF-8?q?Erweiterung=20des=20Lesens=20von=20W=C3=B6rtern?= =?UTF-8?q?,=20Anmerkung=20zu=20weiterer=20Funktion=20zum=20Post=20Process?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Startcode/input.c | 24 ++++++++++++++++++++---- Startcode/main.c | 3 +++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Startcode/input.c b/Startcode/input.c index 3403000..7341859 100644 --- a/Startcode/input.c +++ b/Startcode/input.c @@ -9,8 +9,12 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { char puffer[MAX_LINE_LEN]; - char *teiler = " ,;\n"; + // Delemiter: Ich glaube \n ist nicht erlaubt da einzelne Buchstaben eingelesen werden + char *teiler = " ,;"; char *token; + + //counter für die Anzahl der eingelesenen Wörter + int wordCount = 0; FILE *words_txt_speicherort; //Zeiger auf den Speicherort der word.txt Datei words_txt_speicherort = fopen("words.txt","r"); //word.txt öffnen @@ -21,12 +25,24 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) } fgets(puffer, MAX_LINE_LEN, words_txt_speicherort); //speichert alle Zeichen der words.txt datei in den speicher + + //Trennt das erste Wort der Zeichenkette, abhängig von den Teilerbedingungen + token = strtok(puffer, teiler); - token = strtok(puffer, teiler); //Trennt das erste Wort der Zeichenkette, abhängig von den Teilerbedingungen + //Trennt den Rest der Wörter bis die Zeichenkette leer ist + while(token != NULL) { + words[wordCount][MAX_WORD_LEN] = token; + wordCount++; + token = strtok(NULL, teiler); + } - while(token != NULL) + // TODO: + // * Noch ein Post-Processor der Wörterliste um Füller zu entfernen (Oder in der Funktion) + // * Check für Überlänge? + // * Extra Funktion nach readWords in main.c evtl. - words = token; //speichert nur das einzelne Word in das words array; Problem: Laufindex der global gespeichert werden müsste; wie springe ich beim 2ten Funktionsaufruf zum nächsten Wort + //speichert nur das einzelne Word in das words array; Problem: Laufindex der global gespeichert werden müsste; wie springe ich beim 2ten Funktionsaufruf zum nächsten Wort + //mit strtok(NULL, delimiter) kann man weiterzerlegen :) diff --git a/Startcode/main.c b/Startcode/main.c index 03da755..7d5413e 100644 --- a/Startcode/main.c +++ b/Startcode/main.c @@ -33,6 +33,9 @@ int main(int argc, char *argv[]) wordCount = readWords(file, words, MAX_NUMBER_OF_WORDS); fclose(file); + // TODO: + // Post-Process words[][] nach den Requirements ../TODO.md + // Create the word salad by placing words into grid placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount);