복습 챌린지 #2
Coddy C 여정의 기초 섹션에 포함된 레슨. 63개 중 60번째.
챌린지
쉬움C에서 배열 조작 능력을 테스트해 봅시다!
2차원 배열(행렬)에 대한 연산을 수행하는 프로그램을 작성하세요:
- 다음 작업을 수행하는
rotateMatrix함수를 작성하세요:- 원본 행렬, 회전된 결과를 채울 두 번째 행렬, 그리고 크기를 전달받습니다
- 행렬을 시계 방향으로 90도 회전합니다
행렬을 회전하려면 다음을 사용하세요:rotated[j][size-1-i] = original[i][j]; - 결과를 두 번째 행렬에 기록합니다(함수는
void를 반환하며, 제공된main이 결과를 대신 출력합니다)
- 다음 작업을 수행하는
findElement함수를 작성하세요:- 2차원 정수 배열, 배열의 크기, 그리고 찾을 값을 전달받습니다
- 행렬에서 찾을 값이 발견되면 1을 반환하고, 그렇지 않으면 0을 반환합니다
직접 해보기
#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) {
// 여기에 코드를 작성하세요
}
int findElement(int matrix[][10], int size, int target) {
// 여기에 코드를 작성하세요
}
// 아래 코드를 수정하지 마세요
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;
}
기초의 모든 레슨
직접 연습해 보세요: 온라인 C 컴파일러