Menu
Coddy logo textTech

Wyzwanie powtórkowe nr 2

Część sekcji Podstawy ścieżki C w Coddy. Lekcja 60 z 63.

challenge icon

Wyzwanie

Łatwy

Sprawdźmy Twoje umiejętności manipulowania tablicami w C!

Utwórz program, który wykonuje operacje na tablicy 2D (macierzy):

  1. Utwórz funkcję rotateMatrix, która:
    • Przyjmuje oryginalną macierz, drugą macierz, w której umieszcza obrócony wynik, oraz rozmiar
    • Obraca macierz o 90 stopni zgodnie z ruchem wskazówek zegara
      Użyj tego, aby obrócić macierz: rotated[j][size-1-i] = original[i][j];
    • Zapisuje wynik w drugiej macierzy (funkcja zwraca void; podana funkcja main wyświetli go za Ciebie)
  2. Utwórz funkcję findElement, która:
    • Przyjmuje dwuwymiarową tablicę liczb całkowitych, jej rozmiar oraz szukaną wartość
    • Zwraca 1, jeśli szukana wartość znajduje się w macierzy, a w przeciwnym razie 0

Spróbuj swoich sił

#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) {
    // Tu wpisz swój kod
}

int findElement(int matrix[][10], int size, int target) {
    // Tu wpisz swój kod
}

// Nie modyfikuj poniższego kodu
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;
}

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C online