Sfida di ripasso #2
Fa parte della sezione Fondamenti del percorso C di Coddy. Lezione 60 di 63.
Sfida
FacileMettiamo alla prova le tue abilità di manipolazione degli array in C!
Crea un programma che esegua operazioni su un array 2D (matrice):
- Crea una funzione
rotateMatrixche:- 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; ilmainfornito lo stampa per te)
- Crea una funzione
findElementche:- 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
2Variabili
Tipi di datiInteroFloat - DoubleCaratteriValori booleaniCostantiFondamenti di printfRegole di denominazione delle variabiliConversione di tipo parte 1Conversione di tipo parte 2Sfida di ripasso3Operatori
Operatori aritmeticiOperatore moduloIncremento/DecrementoOperatori di assegnazioneOperatori relazionaliOperatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Sfida di riepilogoEsercitati da solo: Compilatore C online