uses crt;
type
matrix= array [1..4, 1..5] of integer;
var
mass: matrix;
diag: integer;
procedure zap(mass: matrix) ;
var
i,j: integer;
begin
randomize;
for i:=1 to 4 do
for j:=1 to 5 do
mass[i,j]:=random (100)-50;
for i:=1 to 4 do
begin
for j:=1 to 5 do
write (mass[i,j]:5);
writeln;
end;
end;
begin
zap(mass);
end.
=======================================
написал заполнение, надо вывести элементы ниже главной диагонали. Алгоритм понял, если I
Другие языки программирования и технологии
Отобразить элементы двумерного числового массива относительно горизонтальной оси.
Может всё-таки не отOБразить, а отразить массив относительно горизонтальной оси?
program N74812596;
uses crt;
const
n = 4;
m = 5;
type
matrix= array [1..n, 1..m] of integer;
procedure zap(var mass: matrix);
var i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do
mass[i,j]:=random (100)-50
end;
procedure WriteArray(var a: matrix);
var i, j: byte;
begin
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:5);
writeln
end
end;
procedure Reflection(var a: matrix);
var
i, j: byte;
t: integer;
begin
for i := 1 to n div 2 do
for j := 1 to m do
begin
t := a[i, j];
a[i, j] := a[n - i + 1, j];
a[n - i + 1, j] := t
end
end;
var
mass: matrix;
i, j: byte;
begin
randomize;
zap(mass);
writeln('Сформированный массив: ');
WriteArray(mass);
Reflection(mass);
writeln(#13#10'Отражённый массив: ');
WriteArray(mass);
writeln(#13#10'Для завершения работы нажмите любую клавишу... ');
readkey
end.
Главная диагональ есть только в квадратной матрице. У вас же матрица прямоугольная и ни о какой главной диагонали не может быть речи. Или я что-то не знаю о главных диагоналях?
У квадратной матрицы элементы, расположенные под главной диагональю, выводятся так:
for i := 2 to n do
begin
for j := 1 to i - 1 do
write(mass[i, j]:5);
writeln
end;
program N74812596;
uses crt;
const
n = 4;
m = 5;
type
matrix= array [1..n, 1..m] of integer;
procedure zap(var mass: matrix);
var i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do
mass[i,j]:=random (100)-50
end;
procedure WriteArray(var a: matrix);
var i, j: byte;
begin
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:5);
writeln
end
end;
procedure Reflection(var a: matrix);
var
i, j: byte;
t: integer;
begin
for i := 1 to n div 2 do
for j := 1 to m do
begin
t := a[i, j];
a[i, j] := a[n - i + 1, j];
a[n - i + 1, j] := t
end
end;
var
mass: matrix;
i, j: byte;
begin
randomize;
zap(mass);
writeln('Сформированный массив: ');
WriteArray(mass);
Reflection(mass);
writeln(#13#10'Отражённый массив: ');
WriteArray(mass);
writeln(#13#10'Для завершения работы нажмите любую клавишу... ');
readkey
end.
Главная диагональ есть только в квадратной матрице. У вас же матрица прямоугольная и ни о какой главной диагонали не может быть речи. Или я что-то не знаю о главных диагоналях?
У квадратной матрицы элементы, расположенные под главной диагональю, выводятся так:
for i := 2 to n do
begin
for j := 1 to i - 1 do
write(mass[i, j]:5);
writeln
end;
Пиши на мыло
Похожие вопросы
- С++.Дан одномерный числовой массив. Написать функции.
- Задан числовой массив A[1:m, 1:n]. Составить программу...
- Сортировка двумерного динамического массива
- Напишите программу для расчета среднего арифметического всех элементов числового массива рекурсией
- В упорядоченный по возрастанию числовой массив из 20 элементов вставить числа –4 и 7, не нарушая упорядоченности. pascal
- двумерный динамический массив в паскале
- c++ Borland. Найти количество не отрицательных нечетных элементов двумерного массива.
- Найти наибольший и наименьший элементы двумерного массива и поменять их местами . на С++ Builder. на С++ Builder
- Дан двумерный динамический массив, надо составить программу, которая меняет местами две любые строки
- ПОМОГИТЕ плиззз написатьпрограммы«Обработка одномерных числовых массивов»