Георгий
Георгий

помогите найти ошибку. бейсик

В одномерном массиве А (20) поменять местами первый положительный (pol1) и первый отрицательный (otr1) элементы. Элементы исходного мас-сива записать в ячейки “A1:A20” рабочего листа “Лист1”. Вывести значения pol1 и otr1 в ячейки C4 и D4, новый массив – начиная с ячейки F1.

Sub Ìàêðîñ3()
Sheets("Ëèñò1").Activate
Const n = 20
Dim A(1 To n) As Single
Dim pol1, otr1 As Single
Dim nom1, nom2 As Integer
For i = 1 To n
A(i) = Cells(i, 1)
Next i

For i = n To 1 Step -1
If A(i) > 0 Then
pol1 = A(i)
nom1 = i
Cells(4, 3) = "pol1=" & pol1
End If
Next i
For i = 1 To n

If A(i) < 0 Then
otr1 = A(i)
nom2 = i
Cells(4, 4) = "otr1=" & otr1
End If
Next i
A(nom1) = otr1
A(nom2) = pol1
For i = 1 To n
Cells(i, 6) = A(i)
Next i
End Sub

Мария (Семченкова)Бирюкова
Мария (Семченкова)Бирюкова

Sub sutormina()
'В одномерном массиве А (20) поменять местами первый положительный (pol1)
'и первый отрицательный (otr1) элементы. Элементы исходного мас-сива
'записать в ячейки “A1:A20” рабочего листа “Лист1”. Вывести значения
'pol1 и otr1 в ячейки C4 и D4, новый массив – начиная с ячейки F1.

Sheets("Лист1").Activate

Const n As Integer = 20
Dim A(1 To n) As Single
Dim otr1 As Single 'если объявить переменные
Dim pol1 As Single 'через "," то указанного типа
Dim nom1 As Integer 'будет только 1, остальные
Dim nom2 As Integer 'будут variant
Dim i As Integer

Randomize Timer
nom1 = -1
nom2 = -1

For i = 1 To n
A(i) = -5 + CInt(Rnd * 10)
Cells(i, 1) = A(i)
If A(i) > 0 And nom1 = -1 Then
pol1 = A(i)
nom1 = i
Cells(3, 4) = pol1
End If

If A(i) < 0 And nom2 = -1 Then
otr1 = A(i)
nom2 = i
Cells(4, 4) = otr1
End If

Next

If nom1 = -1 Or nom2 = -1 Then
MsgBox ("Все элементы массива имеют 1 знак, замен не произведено! ")
Else
A(nom1) = otr1
A(nom2) = pol1
End If

For i = 1 To 20
Cells(i, 6) = A(i)
Next
End Sub

Похожие вопросы
Помогите написать прогу в бейсике.
Помогите найти ошибку) _)))
Помогите найти ошибку))))
помогите найти ошибку!!! на с++
Помогите составить программу в бейсике.
помогите найти ошибку. бейсик
бейсик. найдите ошибку
Помогите найти ошибку)
Помогите написать программу на бейсике
Где ошибка в задаче по Бейсик