Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

1062

Россия, пос. Теплоозёрск, ЕАО


ID: 226425

Konstantin Shvetski

Модератор

314

Россия, Северодвинск


ID: 401284

Михаил Александров

Советник

278

Россия, Санкт-Петербург


ID: 137394

Megaloman

Мастер-Эксперт

158

Беларусь, Гомель


ID: 400669

epimkin

Профессионал

105


ID: 404002

sglisitsyn

6-й класс

42


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


8.10.3

30.10.2021

JS: 2.10.3
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-12-04 11:45:59-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 109266

Раздел:  Pascal / Delphi / Lazarus
Автор вопроса: Almas
Дата: 13.11.2007, 18:50 Консультация закрыта
Поступило ответов: 1

Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Определить минимальный элемент строк массива, а так же найти максимальный элемент столбца и поменять их местами...

Ответ # 194150 от Gh0stik
Здравствуйте, Almas!

На самом деле если Вы говорите, что необходимо найти по всем столбцам и строкам, то эти элементы равны обыкновенным максимуму и минимуму всего массива и не важно как их искать по строкам либо по столбцам.

Вот код программы (консольное приложение), которая выполняет необходимые действия:
program Project1;

{$APPTYPE CONSOLE}

const m=3; n=4;
var a:array [1..m,1..n] of real;
    i,j,imx,jmx,imn,jmn:integer;
    v:real;
begin
  randomize;
  for i:=1 to m do   //заполняем массив произвольными числами
  begin
    for j:=1 to n do
    begin
      a[i,j]:=random(100);
      write(a[i,j]:6:1); //выводим сгенерированный массив на экран
    end;
    writeln;
  end;
  imx:=1; jmx:=1;
  imn:=1; jmn:=1;
  for i:=1 to m do //ищем максимальный и минимальный элементы, если быть точнее то их индексы
    for j:=1 to n do
    begin
      if a[imx,jmx] < a[i,j] then begin imx:=i; jmx:=j; end;
      if a[imn,jmn] > a[i,j] then begin imn:=i; jmn:=j; end;
    end;
  writeln;
  writeln('min = a[',imn,',',jmn,'] =',a[imn,jmn]:5:1);
  writeln('max = a[',imx,',',jmx,'] =',a[imx,jmx]:5:1);

  v:=a[imx,jmx]; //меняем минимальный и максимальный местами
  a[imx,jmx]:=a[imn,jmn];
  a[imn,jmn]:=v;
  writeln;
  for i:=1 to m do //выводим видоизмененный массив на экран
  begin
    for j:=1 to n do write(a[i,j]:6:1);
    writeln;
  end;

  readln;
end.


Good Luck!!!

Приложение:


Gh0stik

Посетитель
15.11.2007, 23:57
Мини-форум консультации # 109266
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 245

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 43

Gluck

9-й класс

Рейтинг: 42

Вадим Исаев ака sir Henry

Мастер-Эксперт

Рейтинг: 2

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0