Wie muss man diese Aufgabe angehen?


29.01.2024, 13:59

Und was wäre erstmal für die Eingabe zu beachten?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Warscheinlich Out 2 Date aber wem's Hilft:

  1. Parameter einlesen d.H. Zeilänge "n" und die dAteinamen für die Eingabe und Ausgebe werden als Argumente der main Funkion übergeben.
int main(int argc, char *argv[]) {
    if (argc != 4) {
        printf("Usage: %s <input_file> <output_file> <line_length>\n", argv[0]);
        return 1;
    }


    char *inputFileName = argv[1];
    char *outputFileName = argv[2];
    int lineLength = atoi(argv[3]);

Danach Datein öffnen sowohl Ein als auch Ausgabedateien:

FILE *inputFile = fopen(inputFileName, "r");
if (!inputFile) {
    perror("Error opening input file");
    return 1;
}


FILE *outputFile = fopen(outputFileName, "w");
if (!outputFile) {
    perror("Error opening output file");
    fclose(inputFile);
    return 1;
}

Dann müssen wir den Text einlesen und Formatieren:

char line[1000];  // Annahme: Keine Zeile hat mehr als 1000 Zeichen
while (fgets(line, sizeof(line), inputFile)) {
    // Hier implementierst du die Formatierung der Zeilen gemäß der Zeilenlänge
    // und schreibst das Ergebnis in die Ausgabedatei.
}

Zu guter letzt schließen wir die Dateien am ende des Programms.

fclose(inputFile);
fclose(outputFile);


return 0;

Ist zwar nur eine grobe Struktur aber ja.

Zeichne dir doch den gewünschten Programmablauf auf. Daraus kannst du dann doch bereits die einzelnen Arbeitsschritte ableiten und in Pseudocode überführen.

Und dein Pseudocode muss dann eben nur noch in C übersetzt werden.


Teigkneter  29.01.2024, 23:15

Keiner würde das so machen 💀

0