Найти в матрице элемент с заданной суммой цифр - VB
Формулировка задачи:
Створити матрицю М х N. Знайти в матриці елемент з заданою сумою цифр. Видалити стовпчик та рядок на перетині яких знаходиться даний елемент.
Перевод:
Создать матрицу М х N, найти в матрице элемент с заданной суммой цифр, удалить стобец и строку, на пересечении которых находиться этот элемент
Решение задачи: «Найти в матрице элемент с заданной суммой цифр»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim M As Integer, N As Integer, a() As Single, b() As Single
- Dim i As Integer, j As Integer, im As Integer, jm As Integer
- Dim i2 As Integer, j2 As Integer
- Dim S As Integer
- AutoRedraw = True
- Cls
- M = Val(InputBox("вводимо M", , 5))
- N = Val(InputBox("вводимо N", , 4))
- S = Val(InputBox("вводимо число - суму цифр", , 3))
- If M > 2 And N > 2 And S > 0 Then
- ReDim a(M, N): ReDim b(M - 1, N - 1)
- For i = 1 To M
- For j = 1 To N
- a(i, j) = Int(Rnd * 20) ' Val(InputBox("a(" & i & " ; " & j & ")"))
- Print a(i, j); " ";
- Next j
- Next i
- re:
- For i = 1 To M
- For j = 1 To N
- If im = 0 And sum_z(a(i, j)) = S Then
- im = i: jm = j
- GoTo 1
- End If
- Next j
- Next i
- If im = 0 Then
- MsgBox "завершено", vbInformation
- Exit Sub
- End If
- 1:
- i2 = 0
- For i = 1 To M
- If i <> im Then
- i2 = i2 + 1: j2 = 0
- For j = 1 To N
- If j <> jm Then
- j2 = j2 + 1
- b(i2, j2) = a(i, j)
- End If
- Next j
- End If
- Next i
- Print: Print "a( " & im & " ; " & jm & " ) = " & a(im, jm) & ", сума цифр рівна " & S: Print
- For i = 1 To M - 1
- For j = 1 To N - 1
- Print b(i, j); " ";
- Next j
- Next i
- If N > 1 And M > 1 Then
- N = N - 1: M = M - 1
- ReDim a(M, N): a() = b(): ReDim b(M, N)
- im = 0: jm = 0
- GoTo re
- End If
- Else
- MsgBox "некоректний ввід", vbExclamation
- End If
- End Sub
- Function sum_z(k As Single) As Integer
- Dim l As Integer
- sum_z = 0
- For l = 1 To Len(Replace(CStr(k), ".", ""))
- sum_z = sum_z + Val(CStr(Mid(CStr(k), l, 1)))
- Next l
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д