В случайной целочисленной матрице поменять столбцы, содержащие малые и максимальные

В произвольной целочисленной матрице поменять столбцы, содержащие минимальные и максимальные значения. Все элементы разны. Паскаль.

Задать свой вопрос
Pomjankevich Katja
Использовать динамический массив либо статический?
1 ответ
Const m=4; n=6;
var 
a:array[1..m,1..n] of integer;
i,j,max,jmax,min,jmin,t:integer;
begin
Randomize;
writeln('Начальный массив:');
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:4);
  end;
  writeln;
 end;
max:=a[1,1]; jmax:=1;
min:=a[1,1]; jmin:=1;
for i:=1 to m do
 for j:=1 to n do
  begin
  if a[i,j]gt;max then begin max:=a[i,j]; jmax:=j; end;
  if a[i,j]lt;min then begin min:=a[i,j]; jmin:=j; end;
  end;
writeln('max = ',max,' jmax = ',jmax);
writeln('min = ',min,' jmin = ',jmin);
for i:=1 to m do
 begin
 t:=a[i,jmax]; a[i,jmax]:=a[i,jmin]; a[i,jmin]:=t;
 end;
writeln('Полученный массив:');
for i:=1 to m do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Начальный массив:
  89  80   1   6   3  15
  84   2  17   5  89  71
  89  68  90  97  75  40
  12  30  60  98  75  42
max = 98 jmax = 4
min = 1 jmin = 3
Полученный массив:
  89  80   6   1   3  15
  84   2   5  17  89  71
  89  68  97  90  75  40
  12  30  98  60  75  42
Владислав Люльчев
Чтоб все элементы были разны можно сделать маленькие корректировки (m*n <=100):Const m=4; n=6;var a:array[1..m,1..n] of integer;i,j,max,jmax,min,jmin:integer;mn:set of byte; t:byte;beginRandomize;writeln('Начальный массив:');mn:=[];for i:=1 to m do begin for j:=1 to n do begin t:=random(100); while t in mn do t:=random(100); a[i,j]:=t; mn:=mn+[t]; write(a[i,j]:4); end; writeln; end;...
Маринка Жимолостнова
С клавиатуры лень вводить. И можно нечаянно схожие значения ввести.
Антонина Розенбейм
Для примера пришлось бы вводить.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт