Вывести координаты всех седловых точек матрицы. Почему программа не входит в цикл? - VB
Формулировка задачи:
Задание:
Составить программу для ввода матрицы . Вывести координаты всех седловых точек матрицы. Седловым называется элемент матрицы наибольший в своем столбце и одновременно наименьший в строке.
Матрица на листе, алгоритм ввода допишу позже, не понимаю почему не входит в цикл If Cells(i, j) > max Then...
Решение задачи: «Вывести координаты всех седловых точек матрицы. Почему программа не входит в цикл?»
textual
Листинг программы
Option Explicit Sub dop2() Dim n As Integer Dim m As Integer Dim i As Integer Dim j As Integer Dim f As Integer Dim k As Integer Dim q As Integer Dim z As Double Dim max As Double Dim min As Double Dim jmin As Integer Dim imax As Integer Dim max2 As Double Dim min2 As Double Dim jmin2 As Integer Dim imax2 As Integer m = InputBox("Введите количество строк") n = InputBox("Введите количество столбцов ") min = Cells(1, 1) max = Cells(1, 1) jmin = 1 imax = 1 For f = 1 To m i = f For j = 1 To n If Cells(i, j) < min Then min = Cells(i, j) jmin = j k = 1 ElseIf Cells(i, j) = min Then jmin2 = j k = 2 End If Next j j = f For i = 1 To m If Cells(i, j) > max Then max = Cells(i, j) imax = i k = k + 2 ElseIf Cells(i, j) = max And k = 2 Then imax2 = i End If If min2 = max2 And jmin2 <> 0 And imax2 <> 0 Then q = q + 1 Cells(q + 1, 10) = imax2 Cells(q + 1, 11) = jmin2 jmin2 = 0 imax2 = 0 End If Next i If min = max And k = 3 Then z = z + 1 Cells(z + 1, 8) = imax Cells(z + 1, 9) = jmin End If k = 0 jmin = 0 imax = 0 Next f If Cells(2, 8) = "" Then MsgBox ("Седловых элементов нет") End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д