Показать сообщение отдельно
Старый 17.03.2014, 15:03   #2 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

как то так. давно было =)
логично, что не все случаи будут работать. в частности если максимум в первом столбике.

var
mas: array [0..9, 0..9] of integer;
i, j: integer;
min, max, pos_i, pos_j: integer;
begin
// формируем массив
randomize;
for i:= 0 to 9 do
for j:= 0 to 9 do mas[i, j]:= random(1000);

// ищем минимальное и максимальное значения, попутно выводя массив на экран
min:= mas[0, 0];
max:= mas[0, 0];
writeln('Vhodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do
begin
if mas[i, j] < min then min:= mas[i, j];
if mas[i, j] > max then
begin
max:= mas[i, j];
pos_i:= i;
pos_j:= j;
end;
Write(mas[i, j]:4);
end;
writeln;
end;

// делаем замену на минимальное значение слева и снизу от максимума
for i:= pos_i+1 to 9 do
for j:= 0 to pos_j-1 do mas[i, j]:= min;

// выводим на экран значение минимума, максимума и позицию максимума
writeln('min= ', min);
writeln('pos_i= ', pos_i);
writeln('pos_j= ', pos_j);
writeln('max= ', max);

// выводим массив после замены на минимум
writeln('Vihodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do Write(mas[i, j]:4);
writeln;
end;
readln;
end.
poiu вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070