Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Татьяна
И снова матрица не программируется((((

Найти все так называемые "седловые точки" матрицы, т.е. элементы наименьшие в своей строке и наибольшие в своем столбце и наоборот

и почему у меня ничего не получается??...
Паук
Почему не получается - не знаю...
Задачу надо поставить корректно...
Татьяна
Задачу переформулировать не могу. Именно так она поставлена преподом, а они, как известно, ничего не меняют в условии.... т.е. надо записать так, так тебе говорится.
Noname
Блин! точно баба вопрос задавала!

Татьяна, А ты случаем не в Питере живешь?
reill
2Татьяна
переформулировать не значит менять услови - это значит написать его корректно, чтоб людям понятно было...
Alesha_GA
Цитата
А ты случаем не в Питере живешь?

Питер моя территория.
Есть проблемы?!
Alex
Я так приблизительно анализировал это дело и пришел к выводу что седловых точек может быть только две!Большего я как не пытался так и не смог!Если седня буду вечером напишу решение!
Alex
Недоделанное немного нашел:
Для наибольшего в строке и наименьшего в столбце:
ищет строчку, вечером переделаю:
Код
uses crt;
const n=3;m=4;
var a:array[1..m,1..n] of integer;i,j,k,l,min,max,str:integer;
{k-номер столбца, где находится максимальный элемент строки}
begin
ClrScr;
for i:=1 to m do
for j:=1 to n do begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
for i:=1 to m do
begin
max:=a[i,1];
 for j:=1 to n do
  if a[i,j]>max then begin max:=a[i,j];k:=j;end;
min:=a[1,k];
for l:=1 to n do
 if a[l,k]<min then min:=a[l,k];
if min=max then begin str:=i;break;end;
end;
writeln('The number of needed string is ',str);
readln
end.
Alex
Вот решение задачи:
Код
program sort;
uses crt;
const n=3;m=4;
var a:array[1..m,1..n] of integer;i,j,k,k1,ind,l,min,max,min1,max1:integer;
str,stb:array[1..2*m] of integer;
{k-номер столбца, где находится максимальный элемент строки}
{k1-номер столбца, где находится минимальный элемент строки}
begin
ClrScr;
for i:=1 to m do
for j:=1 to n do begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
ind:=0;k:=0;k1:=0;
for i:=1 to m do
begin
max:=a[i,1];min1:=a[i,1];
 for j:=1 to n do begin
  if a[i,j]>max then begin max:=a[i,j];k:=j;end;
  if a[i,j]<min1 then begin min1:=a[i,j];k1:=j;end;
  end;
min:=a[1,k];max1:=a[1,k1];
for l:=1 to n do begin
 if a[l,k]<min then min:=a[l,k];
 if a[l,k1]>max1 then max1:=a[l,k1];
 end;
if min=max then begin ind:=ind+1;str[ind]:=i;stb[ind]:=j;end;
 end;
if ind=0 then writeln('Седловых точек нет')
         else for i:=1 to ind do
              writeln('Седловая точка равна ',a[str[ind],stb[ind]]);
readln
end.
Татьяна
Ребят, что вы все не по делу? переформулировать-не переформулировать... как поставил препод задачу (кстати, он не женщина, самый настоящий седой профессор мужеского пола), так вам и написала.
Татьяна
Не обижайтесь, но сразу видно, что из вас всех по-мужски к этому вопросу только Alex подошел: без всяких философствований раз - и решение!  :-*
AlaRic
Цитата
Не обижайтесь, но сразу видно, что из вас всех по-мужски к этому вопросу только Alex подошел: без всяких философствований раз - и решение!  :-*

Не обижайся, но задачу должна была сделать ты, так как ее задали тебе!
Татьяна
Я никого не принуждала, прошу заметить >:(
GLuk
А сама над решением не хотела подумать??
Да и начала ли хотя бы делать??
У Alex'a вишь просто маленький опыт общения, судя по парочке сабжей.
И на форуме проблемы обсуждаются, а не решаются!
Не подумай, что я злой - как сабака, слишком много таких как ты (в плане которые хотят чиста мужского подхода ;)).
Татьяна
А потому и хотят мужского подхода, что ныне его днем с огнем не сыщешь, увы.
Эмансипация, млин
GLuk
Все-таки квестчин висит, по поводу начала делать или нет??
И то, что ты вкладываешь в понятие мужского подхода - очень туманно...
А эмансипация на Ямайке.
trminator
Блин... развели флуд... "эмансипация, мужской подход" >:( ... Alex, скажи лучше: неужели только ДВЕ седловые точки? Больше получить пока и у меня не вышло, но доказать я это тоже не могу  ???
Alex
Доказательство я не помню, да оно было в добавок устное!Устное доказательство очень редко бывает правильным!
Татьяна
Ладно, ребята...  я самоустраняюсь, дабы не портить своим присутствием ваш замечательный форум ОБСУЖДЕНИЯ  проблем.

Искренее спасибо всем!
GLuk
2Alex: Может посмотришь... вчера попробовал, чтобы прога генерила различные массивы и выводила кол-во седловых точек только больше 2х - дык хрена лысого (минут 10 ждал...)??
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.