Desafío de repaso n.º 2
Parte de la sección Fundamentos del Journey de C de Coddy. Lección 60 de 63.
Desafío
Fácil¡Probemos tus habilidades para manipular matrices en C!
Crea un programa que realice operaciones en una matriz bidimensional:
- Crea una función
rotateMatrixque:- Tome la matriz original, una segunda matriz en la que se guardará el resultado rotado y el tamaño
- Rote la matriz 90 grados en el sentido de las agujas del reloj
Usa esto para rotar la matriz:rotated[j][size-1-i] = original[i][j]; - Escriba el resultado en la segunda matriz (la función devuelve
void; elmainproporcionado lo imprime por ti)
- Crea una función
findElementque:- Tome una matriz de enteros bidimensional, su tamaño y un valor objetivo
- Devuelva 1 si el objetivo se encuentra en la matriz y 0 en caso contrario
Pruébalo tú mismo
#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 código aquí
}
int findElement(int matrix[][10], int size, int target) {
// Tu código aquí
}
// No modifiques el código de abajo
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;
}
Todas las lecciones de Fundamentos
2Variables
Tipos de datosEnteroFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos, parte 1Conversión de tipos, parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafío de repasoPractica por tu cuenta: Compilador de C online