• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Двумерные массивы на Паскале

  • Автор темы mcbeat
  • Дата начала
M

mcbeat

1. Дана квадратная матрица A порядка M. Начиная с элемента A1,1, вывести ее элементы следующим образом («уголками»): все элементы первого столбца; элементы последней строки, кроме первого (уже выведенного) элемента; оставшиеся элементы второго столбца; оставшиеся элементы предпоследней строки и т. Д.; последним выводится элемент A1,M.

2. Дана матрица размера M х N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.


3. Дана матрица размера M х N. Зеркально отразить ее элементы относительно вертикальной оси симметрии матрицы (при этом поменяются местами столбцы с номерами 1 и N, 2 и N – 1 и т. д.).
 
D

Dock1100

Возможно перепутал столбики и рядки(всё время путаю), но в принципе работает правильно.
№1
Код:
const m=5;
var a:array[1..m,1..m] of integer;
i,j,j1:integer;
begin
for i:=1 to m do
for j:=1 to m do
a[i,j]:=random(100);

for i:=1 to m do
begin
if i mod 2=1 then
for j:=i to m do
write('[',i,',',j,'] ');

if i mod 2=0 then
for j1:=i to m do
write('[',j1,',',i,'] ');

writeln;
end;
readln;
end.

№2
Код:
const n=10;
m=5;
var a:array[1..n,1..m] of integer;
i,j,k:integer;
s:real;
begin
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(100);

for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+a[i,j];

s:=s/m;
k:=0;
for j:=1 to m do
if a[i,j]>s then k:=k+1;

writeln('kol-vo bolhe srednego v ',i,' stolbce = ',k);
end;
readln;
end.

№3
Код:
const n=10;
m=6;
var a:array[1..n,1..m] of integer;
i,j,t:integer;
begin
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(100);

writeln;
writeln('before');
writeln;
for i:=1 to n do
begin
write('|');
for j:=1 to m do
write(' ',a[i,j]:3,' |');
writeln;
end;
writeln('after');
writeln;

for i:=1 to m div 2 do
begin

for j:=1 to n do
begin
t:=a[j,i];
a[j,i]:=a[j,m-i+1];
a[j,m-i+1]:=t;
end;

end;

for i:=1 to n do
begin
write('|');
for j:=1 to m do
write(' ',a[i,j]:3,' |');
writeln;
end;

readln;
end.

ЗЫ В Личку с просьбами: решите срочно, решите очень надо... больше НЕ ПИШИТЕ иначе буду тупо игнорировать.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!