diff --git a/08/codeNachricht.c b/08/codeNachricht.c new file mode 100644 index 0000000..34ac242 --- /dev/null +++ b/08/codeNachricht.c @@ -0,0 +1,65 @@ +/************************************************************************************************************** + * Schreiben Sie ein Programm, das einen Text einliest, diesen dabei zeilenweise in einer Tabelle speichert * + * und anschließend codiert ausgibt, indem es ihn spaltenweise ausliest. Die Zeilen- und Spaltenzahlen sind * + * vom Benutzer festzulegen. Überschüssige Zeichen in der Tabelle werden zufällig mit Kleinbuchstaben belegt. * + * Überlegen Sie sich, wie Sie einen codierten Text decodieren könnten, wenn Sie die Zeilen- und Spaltenzahl * + * der Codierung kennen. * + * * + * 1. Hinweis: * + * Die Aufgabe ist ohne scanf und Strings zu lösen. * + * * + * 2. Hinweis: * + * Im untenstehenden Beispiel wird der Text "Das ist ein Text." folgendermaßen in einer Tabelle mit vier * + * Zeilen und fünf Spalten abgelegt: * + * |D|a|s| |i| * + * |s|t| |e|i| * + * |n| |T|e|x| * + * |t|.|?|?|?| * + * * + * Die Stellen mit Fragezeichen sind überschüssig und werden mit zufälligen Kleinbuchstaben belegt. * + * * + * Beispielhafter Ablauf: * + * * + * Die maximale Laenge der Nachricht ergibt sich aus dem Produkt der beiden Codes. * + * * + * >> Geben Sie die Anzahl an Zeilen ein: 4 * + * >> Geben Sie die Anzahl an Spalten ein: 5 * + * >> Geben Sie Ihren Text ein (max. 20 Zeichen): Das ist ein Text. * + * Der umgeformte Text lautet: Dsntat .s Tr eekiixq * + * * + **************************************************************************************************************/ + +#include +#include +#include + +#define MAX_ZEILEN 10 +#define MAX_SPALTEN 10 + +int gibZahlEin(int min, int max); + +int main() +{ + return 0; +} + +int gibZahlEin(int min, int max) +{ + int zahl, geleseneWerte; + + do + { + geleseneWerte = scanf("%d", &zahl); + while(getchar() != '\n') {} + + if(geleseneWerte != 1) + printf("Keine Zahl! Erneute Eingabe: "); + else if(zahl < min) + printf("Zahl zu klein! Erneute Eingabe: "); + else if(zahl > max) + printf("Zahl zu gross! Erneute Eingabe: "); + + } while(geleseneWerte != 1 || zahl < min || zahl > max); + + return zahl; +} diff --git a/08/noten.c b/08/noten.c new file mode 100644 index 0000000..6d49849 --- /dev/null +++ b/08/noten.c @@ -0,0 +1,60 @@ +/********************************************** + * Schreiben Sie ein Programm, das die Anzahl * + * an Studierenden und Fächern erfragt, * + * entsprechend viele Noten einliest und am * + * Ende die Noten samt Durchschnitt ausgibt. * + * * + * Beispiel: * + * * + * >> Wie viele Studis (max. 20)? 4 * + * >> Wie viele Faecher (max. 10)? 3 * + * >> 1. Studi, 1. Fach: 1.0 * + * >> 1. Studi, 2. Fach: 1.3 * + * >> 1. Studi, 3. Fach: 1.7 * + * >> 2. Studi, 1. Fach: 3.0 * + * >> 2. Studi, 2. Fach: 3.3 * + * >> 2. Studi, 3. Fach: 1.3 * + * >> 3. Studi, 1. Fach: 5.0 * + * >> 3. Studi, 2. Fach: 4.0 * + * >> 3. Studi, 3. Fach: 1.7 * + * >> 4. Studi, 1. Fach: 2.7 * + * >> 4. Studi, 2. Fach: 2.3 * + * >> 4. Studi, 3. Fach: 1.0 * + * * + * Noten: * + * 1. Studi: 1.0 1.3 1.7 -> 1.33 * + * 2. Studi: 3.0 3.3 1.3 -> 2.53 * + * 3. Studi: 5.0 4.0 1.7 -> 3.57 * + * 4. Studi: 2.7 2.3 1.0 -> 2.00 * + * * + **********************************************/ + +#include + +#define MAX_STUDIS 20 +#define MAX_FAECHER 10 + +int gibGanzeZahlEin(int min, int max); + +int main() +{ + + return 0; +} + +int gibGanzeZahlEin(int min, int max) +{ + int zahl, geleseneWerte; + + do + { + geleseneWerte = scanf("%d", &zahl); + while(getchar() != '\n') {} + + if(geleseneWerte != 1 || zahl < min || zahl > max) + printf("Fehler! Erneute Eingabe: "); + + } while(geleseneWerte != 1 || zahl < min || zahl > max); + + return zahl; +} diff --git a/08/sortiereMatrix.c b/08/sortiereMatrix.c new file mode 100644 index 0000000..efb4ff4 --- /dev/null +++ b/08/sortiereMatrix.c @@ -0,0 +1,19 @@ +/******************************************************************************* + * Schreiben Sie ein Programm, das eine quadratische Zufallsmatrix mit Werten + * zwischen 1 und 100 erstellt und diese zunächst zeilenweise und anschließend + * spaltenweise aufsteigend sortiert. Nutzen Sie für die Sortierung Ihre + * SelectionSort-Implementierung aus den letzten Übungen. + *******************************************************************************/ + +#include +#include +#include + +#define ZEILEN 10 +#define SPALTEN 10 + +int main() +{ + + return 0; +}