Показать сообщение отдельно
Старый 14.03.2013, 18:40   #8 (permalink)
interacia
Member
 
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
По умолчанию

Код:
program Matrix1;
var
j,i,M,N:integer;
a: array [1..10,1..10] of integer;
II,III,Jmin,Jmax:integer;
min,max:integer;
begin
// Ввод данных
writeln('Введите числа M (M<=10) и N (N<=10)');
 read(N); readln(M);
// Решение
//minI:=1;
//minJ:=1;
 for i:=1 to N do begin
 for j:=1 to M do
 begin
 a[i,j]:=random(100); // заполнение матрицы случайными значениями
 end;
 end;
writeln('Исходный массив');
 for i:=1 to N do begin
 writeln;
 for j:=1 to M do write(a[i,j]:3,' ');
 end;
writeln;
writeln('Ответ');
////////////////////////////////////////////////////////////
for i:=1 to N do
begin
jmax:=1; jmin:=1;
 for j:=1 to M do
   begin
   if a[i,j]>a[i,jmin] then jmin:=j;
   if a[i,j]<a[i,jmax] then jmax:=j;
   end;
 for III:=1 to N do
   begin
   if a[i,jmin]>=a[iii,jmin] then break;
   end;
   if iii=N then writeln('Седловая точка ',a[i,jmin],' координаты строка = ',i,' столбец = ',jmin);
 for III:=1 to N do
   begin
   if a[i,jmax]<=a[iii,jmax] then break;
   end;
   if iii=N then writeln('Седловая точка ',a[i,jmax],' координаты строка = ',i,' столбец = ',jmax);
end;
end.
Пример:
__________________________________________________ ________
Введите числа M (M<=10) и N (N<=10)
4
4
Исходный массив

84 74 15 43
6 34 3 62
65 57 37 28
83 73 48 71
Ответ
Седловая точка 48 координаты строка = 4 столбец = 3
__________________________________________________ ___________
Чем меньше массив тем чаще появляются искомые элементы.
interacia вне форума   Ответить с цитированием
Ads

Яндекс

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