Delphi-Help

Главная Статьи Массивы Задача 244 на Pascal

Задача 244 на Pascal

Оцените материал
(1 Голосовать)


Задача 244 на Pascal

Дана целочисленная квадратная матрица. Найти наименьшее из значений элементов расположенных в области обозначенной звездочками. Оформить массив состоящий из максимальных элементов каждого столбца.

1 2 3 4 5 6 *

1 2 3 4 * * *

1 2 3 * * * *

1 2 * * * * *

1 2 3 * * * *

1 2 3 4 * * *

1 2 3 4 5 6 *

VAR
a:array[1..7,1..7]of integer; {исходная матрица                         }
b:array[1..21]of integer;     {массив элементов из нужной зоны          }
c:array[1..5]of integer;      {массив из максимальных элементов столбцов}
i,j:byte;                     {для циклов, i - строка, j - столбец      }
count,min:integer;            {счетчик для элементов массива b          }
 
{функция возвращает значение максимального элемента столбца в матрице a}
{j-столбец где ищем, min и max-где начать и где закончить поиск        }
FUNCTION GetMax(const j,min,max:byte):integer;
var
tmp:integer;
BEGIN
tmp:=a[j,min];
for i:=min to max-1 do if a[i,j]>tmp then tmp:=a[i,j];
GetMax:=tmp;
END;
 
{------- основная программа -------------}
BEGIN
randomize;
for i:=1 to 7 do
for j:=1 to 7 do a[i,j]:=random(10);  {заполняем матрицу числами}
{выводим ее на экран}
for i:=1 to 7 do
 begin
  for j:=1 to 7 do write('  ',a[i,j]);
  writeln;
 end;
 
{загружаем массив C из максимальных элементов нужных столбцов}
c[1]:=GetMax(7,1,7);
c[2]:=GetMax(6,2,6);
c[3]:=GetMax(5,2,6);
c[4]:=GetMax(4,3,5);
c[5]:=a[4,3];
writeln;
writeln('Массив из максимальных элементов столбцов:');
for i:=1 to 5 do write('  ',c[i]);
 
{загружаем в массив B элементы из нужной зоны}
count:=0;
for i:=2 to 6 do
for j:=5 to 7 do
 begin
  inc(count);
  b[count]:=a[i,j];
 end;
b[count+1]:=a[1,7];     {остальные элементы вручную}
b[count+2]:=a[7,7];
b[count+3]:=a[3,4];
b[count+4]:=a[4,4];
b[count+5]:=a[5,4];
b[count+6]:=a[4,3];
{находим в массиве B минимальный элемент}
min:=b[1];
for i:=1 to 21 do if min>b[i] then min:=b[i];
writeln;
writeln('Минимальный элемент в выделенной зоне = ',min);
 
readln;
END.
Прочитано 8033 раз
Другие материалы в этой категории: « Задача 243 на Pascal Задача 245 на Pascal »

Авторизация



Счетчики