Нужно заполнить матрицу
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
Нужно только чтобы они поочередно заполнялись (первая строка от 1 до 4, вторая от 5 до 8 (слева на право) и так далее).
Другие языки программирования и технологии
Как заполнить матрицу змейкой в Паскале?
k := 0;
for i := 1 to 4 do
for j := 1 to 4 do begin
inc(k);
if odd(i) then a[i, j] := k else a[i, 5 - j] := k
end;
for i := 1 to 4 do
for j := 1 to 4 do begin
if odd(i) then a[i, j] := (i - 1) * 4 + j else a[i, j] := i * 4 + 1 - j;
Чётные ряды (если с 0 нумеровать) заполнять слева направо, нечётные заполнять справа на лево. Не вижу сложности.
Для заполнения матрицы "змейкой" в Паскале можно использовать следующий алгоритм:
1. Создайте пустую матрицу нужного размера.
2. Инициализируйте переменные для отслеживания текущей строки, текущего столбца и текущего значения.
3. Установите начальное значение текущей строки и текущего столбца в 0.
4. Используйте цикл для заполнения матрицы.
- Запишите текущее значение в матрицу на текущих координатах.
- Увеличьте текущее значение на 1.
- Если текущая строка четная:
- Если текущий столбец меньше размера матрицы минус 1, увеличьте текущий столбец на 1.
- Иначе, увеличьте текущую строку на 1.
- Если текущая строка нечетная:
- Если текущий столбец больше 0, уменьшите текущий столбец на 1.
- Иначе, увеличьте текущую строку на 1.
5. Повторяйте шаг 4 до заполнения всех элементов матрицы.
Вот пример кода на языке Паскаль, который демонстрирует заполнение матрицы "змейкой":
```pascal
const
N = 4; // размер матрицы
var
matrix: array[1..N, 1..N] of Integer;
i, j, value: Integer;
begin
value := 1;
for i := 1 to N do
begin
if i mod 2 = 0 then
begin
for j := 1 to N do
begin
matrix[i, j] := value;
value := value + 1;
end;
end
else
begin
for j := N downto 1 do
begin
matrix[i, j] := value;
value := value + 1;
end;
end;
end;
// Вывод матрицы на экран
for i := 1 to N do
begin
for j := 1 to N do
begin
Write(matrix[i, j]:4);
end;
Writeln;
end;
end.
```
Этот код создаст и заполнит матрицу "змейкой" с указанными значениями.
1. Создайте пустую матрицу нужного размера.
2. Инициализируйте переменные для отслеживания текущей строки, текущего столбца и текущего значения.
3. Установите начальное значение текущей строки и текущего столбца в 0.
4. Используйте цикл для заполнения матрицы.
- Запишите текущее значение в матрицу на текущих координатах.
- Увеличьте текущее значение на 1.
- Если текущая строка четная:
- Если текущий столбец меньше размера матрицы минус 1, увеличьте текущий столбец на 1.
- Иначе, увеличьте текущую строку на 1.
- Если текущая строка нечетная:
- Если текущий столбец больше 0, уменьшите текущий столбец на 1.
- Иначе, увеличьте текущую строку на 1.
5. Повторяйте шаг 4 до заполнения всех элементов матрицы.
Вот пример кода на языке Паскаль, который демонстрирует заполнение матрицы "змейкой":
```pascal
const
N = 4; // размер матрицы
var
matrix: array[1..N, 1..N] of Integer;
i, j, value: Integer;
begin
value := 1;
for i := 1 to N do
begin
if i mod 2 = 0 then
begin
for j := 1 to N do
begin
matrix[i, j] := value;
value := value + 1;
end;
end
else
begin
for j := N downto 1 do
begin
matrix[i, j] := value;
value := value + 1;
end;
end;
end;
// Вывод матрицы на экран
for i := 1 to N do
begin
for j := 1 to N do
begin
Write(matrix[i, j]:4);
end;
Writeln;
end;
end.
```
Этот код создаст и заполнит матрицу "змейкой" с указанными значениями.
Похожие вопросы
- отсортировать рандомную матрицу змейкой Язык СИ
- Помогите с обходим матрицы змейкой (нужно отредактировать формулу)
- Delphi. Формы . заполнить матрицу
- Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [10;90]
- Написал скринсейвер матрицы в турбо паскале, только она справа на лево. Как исправить?
- Матрица "по змейке" в Pascal
- Паскаль! Даны векторы: a={xn}, b={yn}, c={zn}, d={dn}. Построить матрицу К, сторонами которой являются упорядочены в
- Заполнить случайным образом одномерный массив из n элементов и обменять местами последний и максимальный (в паскале)
- нужна помощь с прогой на паскале. сортировка матрицы. в данной проге необходимо в начале вывести исходную матрицу в "кра
- Информатика. Delphi (язык "Паскаль"). Помогите с матрицей, а то до автомата-тройки (ну, как бы экзамена) не допустят