Menu
Coddy logo textTech

Wiederholungsaufgabe Nr. 2

Teil des Abschnitts Grundlagen der C-Journey von Coddy. Lektion 60 von 63.

challenge icon

Aufgabe

Einfach

Teste deine Fähigkeiten zur Array-Manipulation in C!

Erstelle ein Programm, das Operationen auf einem 2D-Array (einer Matrix) ausführt:

  1. Erstelle eine Funktion rotateMatrix, die:
    • die ursprüngliche Matrix, eine zweite Matrix, in die das gedrehte Ergebnis eingetragen wird, und die Größe übernimmt
    • die Matrix um 90 Grad im Uhrzeigersinn dreht
      Verwende dies, um die Matrix zu drehen: rotated[j][size-1-i] = original[i][j];
    • das Ergebnis in die zweite Matrix schreibt (die Funktion gibt void zurück; die vorgegebene Funktion main gibt es für dich aus)
  2. Erstelle eine Funktion findElement, die:
    • ein 2D-Ganzzahl-Array, seine Größe und einen Zielwert übernimmt
    • 1 zurückgibt, wenn das Ziel in der Matrix gefunden wird, andernfalls 0

Probier es selbst

#include <stdio.h>

void rotateMatrix(int original[][10], int rotated[][10], int size);
int findElement(int matrix[][10], int size, int target);

void rotateMatrix(int original[][10], int rotated[][10], int size) {
    // Dein Code hier
}

int findElement(int matrix[][10], int size, int target) {
    // Dein Code hier
}

// Ändere den Code unten nicht
int main() {
    int size;
    scanf("%d", &size);
    int matrix[10][10];
    int rotated[10][10];
    
    int value = 1;
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            matrix[i][j] = value++;
        }
    }
    
    printf("Original Matrix:\n");
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    rotateMatrix(matrix, rotated, size);
    
    printf("Rotated Matrix:\n");
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            printf("%d ", rotated[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    
    int result = findElement(matrix, size, 10);
    if (result) {
        printf("Found\n");
    } else {
        printf("Not found\n");
    }
    
    return 0;
}

Alle Lektionen in Grundlagen

Übe selbstständig: Online-C-Compiler