Aufgabe: Summe eines int-Arrays berechnen

Schreibe eine Funktion int summe(int arr[], int n), die die Summe der ersten n Elemente berechnet.

Musterlösung: Summe eines int-Arrays berechnen
int summe(int arr[], int n) {
    int s = 0;
    for (int i = 0; i < n; i++)
        s += arr[i];
    return s;
}

int main(void) {
    int werte[] = {2, 4, 6, 8};
    printf("Summe = %d\n", summe(werte, 4));
}

Aufgabe: Anzahl der geraden Zahlen zählen

Schreibe eine Funktion int anzahl_gerade(int arr[], int n), die zählt, wie viele Einträge gerade sind.

Musterlösung: Anzahl der geraden Zahlen zählen
int anzahl_gerade(int arr[], int n) {
    int count = 0;
    for (int i = 0; i < n; i++)
        if (arr[i] % 2 == 0)
            count++;
    return count;
}

Aufgabe: größtes Element eines Arrays finden

Erstelle eine Funktion int maximum(int arr[], int n).

Musterlösung: größtes Element eines Arrays finden
int maximum(int arr[], int n) {
    int max = arr[0];
    for (int i = 1; i < n; i++)
        if (arr[i] > max)
            max = arr[i];
    return max;
}

Aufgabe: Array in einer Funktion „nullen“

Schreibe eine Funktion void array_nullen(int arr[], int n), die alle Werte auf 0 setzt.

Musterlösung: Array in einer Funktion „nullen“
void array_nullen(int arr[], int n) {
    for (int i = 0; i < n; i++)
        arr[i] = 0;
}

Aufgabe: Anzahl eines bestimmten Zeichens zählen

Schreibe eine Funktion
int count_char(char text[], char c)
die zählt, wie oft Buchstabe c im String vorkommt.

Musterlösung: Anzahl eines bestimmten Zeichens zählen
int count_char(char text[], char c) {
    int i = 0, count = 0;
    while (text[i] != '\0') {
        if (text[i] == c)
            count++;
        i++;
    }
    return count;
}

Aufgabe: String in Großbuchstaben umwandeln

Schreibe eine Funktion
void to_upper(char text[])
die alle Kleinbuchstaben in Großbuchstaben umwandelt.

Musterlösung: String in Großbuchstaben umwandeln
void to_upper(char text[]) {
    int i = 0;
    while (text[i] != '\0') {
        if (text[i] >= 'a' && text[i] <= 'z')
            text[i] = text[i] - ('a' - 'A');
        i++;
    }
}

Aufgabe: eigenes strlen schreiben

Schreibe eine Funktion
int my_strlen(char text[])
die die Länge eines Strings ohne strlen() bestimmt.

Musterlösung: eigenes strlen schreiben
int my_strlen(char text[]) {
    int i = 0;
    while (text[i] != '\0')
        i++;
    return i;
}

Aufgabe: String spiegeln (reverse)

Schreibe eine Funktion
void reverse(char text[])
die den String im selben Array umdreht.

Hinweis: Verwende zwei Indizes: vorne + hinten.

Musterlösung: String spiegeln (reverse)
int my_strlen(char text[]);

void reverse(char text[]) {
    int links = 0;
    int rechts = my_strlen(text) - 1;

    while (links < rechts) {
        char temp = text[links];
        text[links] = text[rechts];
        text[rechts] = temp;
        links++;
        rechts--;
    }
}

Aufgabe: zwei Arrays addieren

Schreibe eine Funktion
void add_arrays(int a[], int b[], int erg[], int n)
die zwei Arrays Komponentenweise addiert:

erg[i] = a[i] + b[i]

Implementiere außerdem die main-Funktion, sodass Du diese Funktion add_arrays() mit Beispielwerten in Arrays aufrufst.

Musterlösung: zwei Arrays addieren
void add_arrays(int a[], int b[], int erg[], int n) {
    for (int i = 0; i < n; i++)
        erg[i] = a[i] + b[i];
}

Aufgabe: das längste Wort in einem Array von Strings finden

Gegeben ist ein Array von Strings, z. B.:

char woerter[4][20] = { "Apfel", "Banane", "Kiwi", "Himbeere" };

Schreibe eine Funktion
int index_laengstes_wort(char arr[][20], int n)
die den Index des längsten Wortes zurückgibt.

Musterlösung: das längste Wort in einem Array von Strings finden
int my_strlen(char t[]);

int index_laengstes_wort(char arr[][20], int n) {
    int max_index = 0;
    int max_len = my_strlen(arr[0]);

    for (int i = 1; i < n; i++) {
        int len = my_strlen(arr[i]);
        if (len > max_len) {
            max_len = len;
            max_index = i;
        }
    }

    return max_index;
}

Nach oben scrollen