Menu
Coddy logo textTech

Défi récapitulatif n° 2

Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 60 sur 63.

challenge icon

Défi

Facile

Testons tes compétences en manipulation de tableaux en C !

Crée un programme qui effectue des opérations sur un tableau à 2 dimensions (matrice) :

  1. Crée une fonction rotateMatrix qui :
    • Prend la matrice originale, une deuxième matrice à remplir avec le résultat de la rotation, ainsi que la taille
    • Fait pivoter la matrice de 90 degrés dans le sens horaire
      Utilise ceci pour faire pivoter la matrice : rotated[j][size-1-i] = original[i][j];
    • Écrit le résultat dans la deuxième matrice (la fonction renvoie void ; le main fourni l’affiche pour toi)
  2. Crée une fonction findElement qui :
    • Prend un tableau d’entiers à 2 dimensions, sa taille et une valeur cible
    • Renvoie 1 si la cible est trouvée dans la matrice, et 0 sinon

Essayez vous-même

#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) {
    // Votre code ici
}

int findElement(int matrix[][10], int size, int target) {
    // Votre code ici
}

// Ne modifiez pas le code ci-dessous
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;
}

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur C en ligne