Menu
Coddy logo textTech

Sfida di ripasso #2

Fa parte della sezione Fondamenti del percorso C di Coddy. Lezione 60 di 63.

challenge icon

Sfida

Facile

Mettiamo alla prova le tue abilità di manipolazione degli array in C!

Crea un programma che esegua operazioni su un array 2D (matrice):

  1. Crea una funzione rotateMatrix che:
    • Riceva la matrice originale, una seconda matrice in cui inserire il risultato ruotato e la dimensione
    • Ruoti la matrice di 90 gradi in senso orario
      Usa questa istruzione per ruotare la matrice: rotated[j][size-1-i] = original[i][j];
    • Scriva il risultato nella seconda matrice (la funzione restituisce void; il main fornito lo stampa per te)
  2. Crea una funzione findElement che:
    • Riceva un array di interi 2D, la sua dimensione e un valore da cercare
    • Restituisca 1 se il valore cercato si trova nella matrice, altrimenti 0

Provalo tu

#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) {
    // Your code here
}

int findElement(int matrix[][10], int size, int target) {
    // Your code here
}

// Don't modify the code below
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;
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C online