1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <stdlib.h>
#define RED "\x1b[31m"
#define GREEN "\x1b[32m"
#define YELLOW "\x1b[33m"
#define BLUE "\x1b[34m"
#define MAGENTA "\x1b[35m"
#define CYAN "\x1b[36m"
#define RESET "\x1b[0m"
void aufg_10_1();
void aufg_10_2();
void aufg_10_3();
int main() {
// Definieren
int auswahl;
// Wilkommenstext und Auswahl
printf(GREEN "--- " RESET MAGENTA "Wilkommen zu den " RESET BLUE "Informatikübungen " RESET "von Milan! ---\n");
printf("Nummer ohne Punkt" CYAN "(bsp: 101 für 10.1)" RESET "für Aufgabe eingeben!\n");
scanf("%d", &auswahl);
// Switch-Statement für Aufgabenauswahl
switch (auswahl) {
case 101: aufg_10_1();
case 102: aufg_10_2();
case 103: aufg_10_3();
default: printf("Falsche Eingabe!");
}
return 0x0;
}
void aufg_10_1() {
// Arrays definieren
int a[11] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int b[11];
// Integer für For-Schleife definieren
int n, i;
// For-Schleife, die in 10 Durchgängen das Array rotiert
for(n = 0, i = 10 ; n <= 10; n++, i--) {
b[n] = a[i];
// Ausgabe der Werte der Arrays zur Kontrolle
// Array b (grün) ist das fertig rotierte Array
printf( RED "\nSpeicherzelle %d von Array A: %d" RESET, n, a[n]);
printf( GREEN "\nSpeicherzelle %d von Array B: %d" RESET, n, b[n]);
}
exit(0);
}
void aufg_10_2() {
// Arrays definieren
int a[11] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// Abfragen, welches Element entfernt werden soll
int entf;
printf("Welches Element entfernen? ");
scanf("%d", &entf);
// For-Schleife, die ab dem gewollten Element das Array verschiebt
while(entf <= 10) {
a[entf] = a[entf+1];
entf++;
}
// Ausgabe des Arrays
int n;
for(n = 0; n <= 9; n++) {
printf("%d ", a[n]);
}
printf("\n");
exit(0);
}
void aufg_10_3() {
int n;
for(n = 0; n <=4; n++) {
fprint
}
}
|