forked from paulusja/info1_uebungen
Add 2d-array exercises.
This commit is contained in:
parent
73115eadf1
commit
d40842b161
65
08/codeNachricht.c
Normal file
65
08/codeNachricht.c
Normal file
@ -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 <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
60
08/noten.c
Normal file
60
08/noten.c
Normal file
@ -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 <stdio.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
19
08/sortiereMatrix.c
Normal file
19
08/sortiereMatrix.c
Normal file
@ -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 <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#define ZEILEN 10
|
||||
#define SPALTEN 10
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user