Вывести координаты всех седловых точек матрицы. Почему программа не входит в цикл? - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы