Получить целочисленную квадратную матрицу порядка N, элементами которой являются числа 1, 2, 3, … , расположенные в ней по спирали:
#include <iostream>(дословный перевод с найденной здесь же на форуме программы на Паскале)
#include <iomanip>
using namespace std;
int main() {
const int n = 6;
int mx[n][n];
int i = 1, j = 1, k = 1;
int c = 0;
do {
while(j <= n - c) mx[i - 1][j++ - 1] = k++;
i++; j--;
while(i <= n - c) mx[i++ - 1][j - 1] = k++;
j--; i--;
while(j >= 1 + c) mx[i - 1][j-- - 1] = k++;
c++; j++; i--;
while(i >= 1 + c) mx[i-- - 1][j - 1] = k++;
j++; i++;
} while(c <= n / 2);
for(int i = 0; i < n; i++) {
cout << endl;
for(int j = 0; j < n; j++) {
cout << setw(3) << mx[i][j] << " ";
}
}
return 0;
}
Спасибо огромное за решение задачи......
Но вот мне надо сделать чтобы порядок матрицы, N, вводилось с клавиатуры!
Ну, так сделай:
// Вместо этих двух строк:
// const int n = 6;
// int mx[n][n];
// Пишешь вот эти три:
int n;
cin >> n;
vector< vector<int> > mx(n, vector<int>(n));
#include <vector>
спасибочки большое, а можно выложить еще одну задачку, а то никак не получается?