Найти в матрице элемент с заданной суммой цифр - 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 Print 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 Print 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д