//-90µµ ȸÀüÀÓ. ½Ã°è¹Ý´ë¹æÇâÀ¸·Î
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable:4996)
FILE * fp;
void printMap(int *map, int n, int m) {
printf("=====map====\n");
fprintf(fp, "=====map====\n");
for (int y = 0; y < m; y++) {
for (int x = 0; x < n; x++) {
printf("%5d", map[y*n + x]);
fprintf(fp, "%5d", map[y*n + x]);
}
printf("\n");
fprintf(fp, "\n");
}
}
void rot_printMap(int *map, int n, int m) {
printf("=====map====\n");
fprintf(fp, "=====map====\n");
for (int y = 0; y < n; y++) {
for (int x = 0; x < m; x++) {
printf("%5d", map[y*n + x]);
fprintf(fp, "%5d", map[y*n + x]);
}
printf("\n");
fprintf(fp, "\n");
}
}
/* ½Ã°è¹æÇâ
void transform(int *map, int *new_map, int n)
{
for (int y = n - 1; y >= 0; y--){
for (int x = 0; x < n; x++) {
new_map[y*n + x] = map[(n - 1 - x)*n + y];
}
}
}
*/
//¹Ý½Ã°è¹æÇâ Á÷»ç°¢Çà·Ä (always x >= y && n >= m)
void transform(int *map, int *new_map, int n, int m)
{
for (int y = 0; y <m; y++)
{
for (int x = 0; x < n; x++)
{
new_map[y + x*n] = map[(m - 1 - x) + y*n + 1];
}
}
}
int main() {
int n;
int m;
fp = fopen("rotate.txt", "w");
scanf("%d", &n); // °¡·Î
scanf("%d", &m); // ¼¼·Î
//(always x >= y && n >= m)
int *map = new int[n*m];
for (int i = 0; i < n*m; i++) {
map[i] = i;
}
printMap(map, n, m);
int *new_map = new int[n*n];
transform(map, new_map, n, m);
rot_printMap(new_map, n, m);
fclose(fp);
return 0;
}
Àâ´ã | 1660¸íÀÌ Àоú¾î¿ä. 3.149.23.167