@AlexB_49
Студент

Как заполнить матрицу (двухмерный массив)?

Задание: заполнить матрицу (двухмерный массив) значениями вектора b1, b2,...,b81 от центра по спирали (влево-вниз-вправо-вверх).
5fb41e73e077b011196362.png
Примечание: на рисунке указаны значения индексов!
Я написал код, который просто заполняет матрицу в обычном порядке:
#include <iostream>
using namespace std;

int main()
{
	const int rows = 9;
	const int cols = 9;
	int ARR[rows][cols];

	for (int i = 0; i < rows; i++)
	{
		for (int j = 0; j < cols; j++)
		{
			ARR[i][j] = rand() % 10;
		}
	}

	for (int i = 0; i < rows; i++)
	{
		for (int j = 0; j < cols; j++)
		{
			cout << ARR[i][j] << "  ";
		}
		cout << endl;
	}
}

Как сделать так, чтобы индексы элементов возрастали от центра по спирали (как указано на рисунке)?
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
Находите индекс - центр матрицы. Сдвигаете индекс влево на один. Затем вниз на один. Затем вправо на один. Затем вверх на два. Затем влево на два. И т. д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы