Défi récapitulatif n° 2
Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 60 sur 63.
Défi
FacileTestons tes compétences en manipulation de tableaux en C !
Crée un programme qui effectue des opérations sur un tableau à 2 dimensions (matrice) :
- Crée une fonction
rotateMatrixqui :- 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; lemainfourni l’affiche pour toi)
- Crée une fonction
findElementqui :- 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
2Variables
Types de donnéesEntierVirgule flottante - DoubleCaractèresBooléensConstantesBases de printfRègles de nommage des variablesConversion de type - Partie 1Conversion de type - Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d’affectationOpérateurs relationnelsOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Opérateurs logiques — Partie 3Défi récapitulatifEntraînez-vous par vous-même : Compilateur C en ligne