C언어/문제풀다 하나씩
배열 회전시키기
mcdn
2020. 5. 22. 11:26
반응형
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int arr[10][10];
int n, spinn;
int result[10][10];
void spin(int nline) {
for (int i = 0;i < nline;i++) {
for (int j = 0; j < nline;j++) {
result[j][nline - 1 - i] = arr[i][j];
}
}
for (int i = 0; i < nline;i++) {
for (int j = 0; j < nline; j++) {
arr[i][j] = result[i][j];
}
}
}
int main() {
cin >> n >> spinn;
for (int i = 0; i < n;i++) {
for (int j = 0; j < n;j++) {
cin >> arr[i][j];
}
}
for (int i = 0; i < spinn;i++) {
spin(n);
}
for (int i = 0;i < n;i++) {
for (int j = 0; j < n;j++) {
cout << result[i][j]<<" ";
}cout << endl;
}
return 0;
}
result를 하나더 만들어야 하긴하지만
여러번 회전 시킬때 어떻게 처리할지는 애매하다.
[C언어] 배열 회전시키기
(본 카테고리의 내용은 영진닷컴 기본서 시리즈 '이기적 2011 정보처리기사 실기' 알고리즘 편을 기본으로 하고 있습니다.) <문제> 배열 A(5,5)를 시계 방향으로 90도 회전시켜 B(5,5)를 생성하는 알고
milvus.tistory.com
참고해서 만들긴 함
결국 이 부분이 중요 !!!!!!
5칸짜리 배열이라면
result[j][4-i] = A[i][j];
반응형