 
        
        Математическая модель задачи.
Задача представлена следующим образом:
Элемент матрицы является седловой точкой, если он является наименьшим в своей строке и наибольшим в своем столбце (или наоборот: наибольшим в своей строке и наименьшим в своем столбце). Для заданной матрицы определить все седловые точки.
Исходные данные:
- Переменная Min, для нахождения минимального значения в массиве, вне зависимости от координат значения (тип данных: integer); 
- Переменная Max, для нахождения максимального значения в строке\столбце, вне зависимости от координат (тип данных: integer); 
Промежуточные данные:
- Переменная x, необходимая для определения размера массива, и нахождения адреса элемента (тип данных: integer); 
- Переменная y, необходимая для определения размера массива, и нахождения адреса элемента (тип данных: integer); 
- Переменная InMin, необходимая для сравнения минимального значения в массиве, выполняет функцию запоминания минимального значения и в дальнейшем сравнения с другими значениями (тип данных: integer); 
- Переменная InMax, необходимая для сравнения максимального значения в массиве, выполняет функцию запоминания максимального значения и в дальнейшем сравнения с другими значениями (тип данных: integer); 
Выходные данные:
- Переменная Min, имеющая необходимое минимальное значение в строке\столбце (тип данных: integer); 
- Переменная Max, имеющая необходимое минимальное значение в строке\столбце (тип данных: integer); 
- Переменная x, в которой находятся координаты максимальной и минимальной точек (тип данных: integer); 
- Переменная y, в которой находятся координаты максимальной или минимальной точки (тип данных: integer); 
Практическая часть.
- Описание алгоритма. 
- Создание массива, заполненного случайными числами, размером 15х15 из интервала [-20];[50]. 
- Поиск элементов, в записи которых присутствует цифра 5. 
- При нахождении таких элементов, удаление их из массива. 
- Поиск элементов, кратных своему номеру 
- Ввод числа под именем “k”, 
- При нахождении элемента, кратного своему, вставить после него значение числа “k” 
- Поиск первого положительного и последнего отрицательного элементов 
- Поменять местами эти элементы - Текст программы (с комментариями). 
 
Const n = 15;
Type myMas = Array [ 1 .. 2*n ] of integer;
Var
a : myMas;
i, j, k, n2 : integer;
begin
randomize;
n2 := n;
Write('k: ');
ReadLn(k);
for i := 1 to n do
begin
a[ i ] := random(71)-20;
write(a[ i ]:5);
end;
WriteLn; WriteLn;
for i := n downTo 1 do
if (a[ i ] mod i = 0) then
begin
for j := n2 downTo i do a[ j+1 ] := a[ j ];
n2 := n2 + 1;
a[ i+1 ] := k;
end;
for i := 1 to n2 do write(a[ i ]:5);
readLn;
end.
Тестирование.
(см. Приложение 1)
| Введенные числа | Результат выполнения работы | Ожидаемый результат | 
| 
 | 
 | 
 | 
