Удалить из массива строку и столбец, на пересечении которых находится минимальный элемент - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите исправить ошибку . Задание :Сформировать двумерный массив. Удалить из него строку и столбец, на пересечении которых находится минимальный элемент.

Решение задачи: «Удалить из массива строку и столбец, на пересечении которых находится минимальный элемент»

textual
Листинг программы
type mtr=array[,]of integer;
procedure delete (var a:mtr; var n,l,imin,jmin: byte); 
begin
if imin<n-1 then
for  var i:=imin to n-2 do
for var j:=0 to l-1 do
a[i,j]:=a[i+1,j];
dec(n);
if jmin<l-1 then
for var j:=jmin to l-2 do
for var i:=0 to n-1 do
a[i,j]:=a[i,j+1];
dec(l);
end;
var a:mtr;
    n,l,i,j,imin,jmin:byte;  
begin
write('n,l='); readln(n,l);
Setlength(a,n,l);
imin:=0; 
jmin:=0;
for i:=0 to n-1 do
 begin
   for j:=0 to l-1 do
    begin
     a[i,j]:=-50+random(101);
     write(a[i,j]:4);
     if a[i,j]<a[imin,jmin] then
      begin
       imin:=i; 
       jmin:=j;
      end;
    end;
   writeln;
  end;
writeln;  
writeln('мин эл=',a[imin,jmin],' строка=',imin+1,' столбец=',jmin+1);
delete(a,n,l,imin,jmin);
writeln;
setlength(a,n,l);
for i:=0 to n-1 do
 begin
  for j:=0 to l-1 do
  write(a[i,j]:4);
  writeln;
 end;
end.

Объяснение кода листинга программы

  1. Создается тип данных mtr, который представляет собой двумерный массив целых чисел.
  2. Создается процедура delete, которая принимает в качестве параметров массив a, индексы начала и конца пересечения, а также минимальный элемент.
  3. В начале процедуры проверяется, находится ли минимальный элемент вне пересечения. Если это так, то он перемещается внутрь пересечения.
  4. Затем происходит итерация по массиву a для обновления элементов. Если текущий элемент меньше минимального, то он заменяется на следующий элемент. Это продолжается до тех пор, пока не будет достигнут конец пересечения.
  5. После завершения итерации обновленные элементы сохраняются в новом массиве.
  6. Создается переменная a типа mtr.
  7. Читаются значения n, l из стандартного ввода.
  8. Создается новый массив a с длиной n и l.
  9. Заполняется массив a случайными числами.
  10. Находится минимальный элемент в массиве a.
  11. Обновляется значение минимального элемента в переменной imin.
  12. Обновляется значение минимального элемента в переменной jmin.
  13. Выводится на экран информация о минимальном элементе и его положении.
  14. Вызывается процедура delete с параметрами a, n, l, imin и jmin.
  15. Выводится на экран обновленный массив a.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы