Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрицы помогите.........кто может
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Kobra
Нажмите для просмотра прикрепленного файла Получить целочисленную квадратную матрицу порядка N, элементами которой являются числа 1, 2, 3, … , расположенные в ней по спирали:
volvo
#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;
}

(дословный перевод с найденной здесь же на форуме программы на Паскале)
Kobra
Спасибо огромное за решение задачи......
Но вот мне надо сделать чтобы порядок матрицы, N, вводилось с клавиатуры!
volvo
Ну, так сделай:

// Вместо этих двух строк:
// const int n = 6;
// int mx[n][n];

// Пишешь вот эти три:
int n;
cin >> n;
vector< vector<int> > mx(n, vector<int>(n));

Дальше - все остается без изменений... Только не забудь подключить после всех include-ов еще и
#include <vector>
Kobra
спасибочки большое, а можно выложить еще одну задачку, а то никак не получается?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.