
Jetzt kombinieren wir alles: Arrays in Funktionen übergeben, Strings verarbeiten, Statistiken berechnen. Das ist echte Programmierung! 🎯
📨 Arrays an Funktionen übergeben
Arrays werden in C immer als Zeiger übergeben – das heißt, die Funktion arbeitet mit dem Original (kein Kopie)! Die Größe muss extra übergeben werden:
#include <stdio.h> float durchschnitt(int arr[], int n) { int sum = 0; for (int i = 0; i < n; i++) sum += arr[i]; return (float)sum / n; } int maximum(int arr[], int n) { int m = arr[0]; for (int i = 1; i < n; i++) if (arr[i] > m) m = arr[i]; return m; } int main() { int n[] = {2, 1, 3, 1, 2, 4}; printf("Ø: %.2f\n", durchschnitt(n, 6)); // 2.17 printf("Max: %d\n", maximum(n, 6)); // 4 return 0; }
🔄 Bubble Sort – einfaches Sortieren
Bubble Sort vergleicht benachbarte Elemente und tauscht sie, bis alles sortiert ist:
void bubble_sort(int arr[], int n) { for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-1-i; j++) { if (arr[j] > arr[j+1]) { int tmp = arr[j]; // Tausch arr[j] = arr[j+1]; arr[j+1] = tmp; } } } }
📋 Array of Strings
/* Array von 4 Strings, je max. 20 Zeichen */ char tage[4][20] = {"Montag", "Dienstag", "Mittwoch", "Donnerstag"}; for (int i = 0; i < 4; i++) printf("%s\n", tage[i]);
✏️ Übungen
Funktion schreiben
Schreibe eine Funktion minimum(int arr[], int n), die das kleinste Element eines Arrays zurückgibt:
Suche im Array
Schreibe eine Funktion suche(int arr[], int n, int wert), die den Index des gesuchten Werts zurückgibt (-1 wenn nicht gefunden):
Noten-Verwaltung
Schreibe ein vollständiges Programm mit Funktionen für: Eingabe (5 Noten einlesen), Berechnung (Durchschnitt, Min, Max), Ausgabe (alle Werte anzeigen):
Binäre Suche
Binäre Suche ist viel schneller als lineare Suche – aber nur in sortierten Arrays! Das Prinzip: Mitte prüfen, dann linke oder rechte Hälfte wählen. Implementiere die Funktion: