Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Массивы Задача 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.
Прочитано 9893 раз
Другие материалы в этой категории: « Задача 243 на Pascal Задача 245 на Pascal »

Авторизация



Счетчики