Определить, есть ли в данном массиве строка, содержащая больше положительных элементов - VB
Формулировка задачи:
Здравствуйте! Прошу помощи!
Задание такое:
Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве строка, содержащая больше положительных элементов, чем отрицательных.
Мой код не всегда работает Подскажите, пожалуйста, в чем ошибка.
Листинг программы
- Dim a(0 To 10, 0 To 10) As Integer
- Dim n, m, q, w As Integer
- Private Sub Command1_Click()
- Picture1.Cls
- Picture2.Cls
- n = Val(Text1)
- m = Val(Text2)
- s = 0
- For i = 1 To n
- For j = 1 To m
- a(i, j) = Rnd() * 10 - 5
- Picture1.Print a(i, j);
- s = s + 1
- If s Mod m = 0 Then Picture1.Print
- Next j
- Next i
- q = 0
- w = 0
- s = 0
- For i = 1 To n
- For j = 1 To m
- z = False
- If a(i, j) < 0 Then q = q + 1
- If a(i, j) > 0 Then w = w + 1
- s = s + 1
- If s Mod m = 0 Then
- If w > q Then
- z = True
- Exit For
- End If
- q = 0
- w = 0
- End If
- Next j
- Next i
- If z Then
- Picture2.Print "Есть такая строка"
- Else
- Picture2.Print "Нет такой строки"
- End If
- End Sub
закрывайте тему. нашел ошибку
Решение задачи: «Определить, есть ли в данном массиве строка, содержащая больше положительных элементов»
textual
Листинг программы
- Dim a(100, 100) As Integer
- Dim n, m, q, w As Integer
- Private Sub Command1_Click()
- Picture1.Cls
- Picture2.Cls
- n = Val(Text1)
- m = Val(Text2)
- s = 0
- q = 0
- w = 0
- z = 0
- For i = 1 To n
- For j = 1 To m
- a(i, j) = -10 + Int(Rnd * 20)
- Picture1.Print a(i, j);
- If a(i, j) < 0 Then q = q + 1
- If a(i, j) > 0 Then w = w + 1
- s = s + 1
- If s Mod m = 0 Then
- Picture1.Print
- If w > q Then
- z = z + 1
- End If
- q = 0
- w = 0
- End If
- Next
- Next
- If z > 0 Then
- Picture2.Print "Да, существует, таких строк "; z
- Else
- Picture2.Print "Нет такой строки"
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д