| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Delphi]найти координаты всех седловых точек |
| Автор: HAS 14.6.2007, 20:16 | ||||
| Задача : Номер строки и столбцов всех седловых точек матрицы. Примечание: Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i – той строке и максимальным в j – том столбце. сделал так, но работает некорректно (((
Добавлено через 1 минуту и 18 секунд
|
| Автор: Alexeis 14.6.2007, 21:21 |
| Для домашних заданий, курсовых, существует "Центр Помощи". Тема перенесена! |
| Автор: vlksm 19.6.2007, 16:15 |
| ----------------------- var i,j :integer; min, max:integer; x, y : integer; arr : array[1..5,1..4] of integer; max_col:array[1..4] of integer; min_row:array[1..5] of integer; s:string; --------------------------------- begin // найди max столбцов for j := 1 to 4 do begin max := arr[1,j];x:=1; for i := 1 to 5 do begin if max <= arr[i,j] then begin max := arr[i,j]; x := i; end; end; max_col[j]:=max; end; // найди min строк for i := 1 to 5 do begin min := arr[i,1];y:=1; for j := 1 to 4 do begin if min >= arr[i,j] then begin min := arr[i,j]; y := j; end; end; min_row[i]:=min; end; // да и выводи себе... for i := 1 to 5 do for j := 1 to 4 do if max_col[j]=min_row[i] then begin s:='|('+intTostr(i)+','+IntToSTr(j)+')='+IntToStr(min_row[i]); Label1.Caption := Label1.Caption +s; end; end; |
| Автор: vlksm 19.6.2007, 17:54 |
| // да и выводи себе... for i := 1 to 5 do for j := 1 to 4 do if (max_col[j]=min_row[i]) and( arr[i,j]=min_row[i]) then begin s:='|('+intTostr(i)+','+IntToSTr(j)+')='+IntToStr(min_row[i]); Label1.Caption := Label1.Caption +s; end; end; |