Дана матрица 5*5, числа в диапазоне от 1 до 20. Необходимо найти седловые точки
Категория: Basic
2011-10-07 16:30:40
Дана матрица 5*5, числа в диапазоне от 1 до 20. Необходимо найти седловые точки. Распечатать значения и индексы A(i,j). Предусмотреть циклический запуск пока седловая точка не будет найдена (DO WHILE)
code: #basic
DIM A(1 TO 5, 1 TO 5) ' Матрица CLS ' Считываем матрицу из DATA FOR i = 1 TO 5 FOR j = 1 TO 5 READ A(i, j) NEXT j, i ' Находим седловые точки FOR i = 1 TO 5 ' цикл по строкам ' найдем максимум в строке maxstr = A(i, 1) FOR counter = 2 TO 5 IF A(i, counter) > maxstr THEN maxstr = A(i, counter) END IF NEXT counter ' теперь проверим для всех значений =maxstr, являются ли они ' минимумом в своем столбце FOR j = 1 TO 5 IF A(i, j) = maxstr THEN imin = 1 FOR counter = 1 TO 5 IF A(counter, j) < A(i, j) THEN ' Есть меньший элемент imin = 0 END IF NEXT counter ' Если элемент минимален в столбце - то это седловая точка IF imin = 1 THEN PRINT "Седловая точка A("; i; ","; j; ")="; A(i, j) END IF END IF NEXT j NEXT i END ' Матрица DATA 1, 3,15, 5, 6 DATA 12,11,13,10,15 DATA 5, 7,10, 4,15 DATA 13,11,11, 7, 7 DATA 3, 7,10,10, 1
автор: ChipSeter
Поделиться: