Menu
Coddy logo textTech

Desafío de repaso n.º 2

Parte de la sección Fundamentos del Journey de C de Coddy. Lección 60 de 63.

challenge icon

Desafío

Fácil

¡Probemos tus habilidades para manipular matrices en C!

Crea un programa que realice operaciones en una matriz bidimensional:

  1. Crea una función rotateMatrix que:
    • 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; el main proporcionado lo imprime por ti)
  2. Crea una función findElement que:
    • 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

Practica por tu cuenta: Compilador de C online