| Код | program MatrixGen;
const N = 8;{размерность матрицы}
type TMatrix = array[ 1..N, 1..N ] of integer;{тип матрица}
{процедура печати матрицы} procedure PrintMatrix( var matrix : TMatrix ); var i, j : integer; begin for i := 1 to N do begin for j := 1 to N - 1 do write( matrix[ i, j ], ' ' ); writeln( matrix[ i, N ] ); end; end;
{процедура генерации матрицы} procedure GenerateMatrix( var matrix : TMatrix ); var i, j : integer; begin for j := 1 to N div 2 do{ N div 2 - парных столбцов, от 1 до N и от N до 1} for i := 1 to N do{для каждого элемента столбца} begin {нечетные столбцы - от 1 до N} {четные - от N до 1} matrix[ i, 2 * j - 1 ] := i;{заполняем элементы столбцов от 1 до N} matrix[ i, 2 * j ] := N - i + 1;{заполняем элементы столбцов от N до 1} end; if N mod 2 = 1 then{если остался незаполненный столбец} {заполняем его} for i := 1 to N do matrix[ i, N ] := i; end;
var matrix : TMatrix;
begin GenerateMatrix( matrix );{генерация матрицы} writeln( 'Result matrix:' ); PrintMatrix( matrix );{печать матрицы-результата} readln;{ожидание ввода} end.
|
|