summaryrefslogtreecommitdiff
path: root/Übung.c
blob: 109572853a1c2369ea5f5dc8effaef37723cf2b8 (plain)
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
#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();

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();
        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 <= sizeof(a); n++) {
        printf("%d", a[n]);
    }
    printf("\n");

    exit(0);
}