-Цитата от Трэй
дана квадратная матрица.повернуть матрицу на 90 градусов по часовой стрелке
помогите, пожалуйста, хотя бы с алгоритмом.программу уж сам напишу
Мои размышления
1.через div 2 найти до какой строки делать цикл
2.начать перемещать строки и столбцы
верхнюю строку ставить на место последнего столбца, а нижнюю строку на место первого столбца.потом внутри тоже самое
есть ли вариант легче?
Чисто из любопытства сделал сейчас, одномерного массива хватило для решения за квадрат.
Код:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <string.h>
#include <math.h>
#include <conio.h>
#include <vector>
#include <map>
#include <set>
using namespace std;
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
int n,nn;
scanf("%d",&n);
nn=n*n;
const unsigned int size=nn;
int matrix[size];
for(int i=1;i<=nn;i++)
{
scanf("%d",&matrix[i]);
}
for(int curr=n;curr>0;curr--)
{
for(int j=curr;j<=nn;j+=n)
{
printf("%d ",matrix[nn-j+1]);
}
putchar('\n');
}
return 0;
}