Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 19:18   #1
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию Найдите ошибку в массиве

Дан одномерный массив А(n), который состоит не менее, чем из 10 элеметов(больших за ноль, меньших за ноль, нулевых). Выходной массив получить, поменяв второй елемент, меньший за ноль, минимальным. Вывести оба массива - входной и выходной в Excel.

Вот что написали:
Private Sub CommandButton1_Click()
n = InputBox("Vvedite kolichestvo n")
ReDim A(n)
For i = 1 To n
A(i) = InputBox("Vvedite A(" & i & ")")
Next i
For i = 1 To n
Cells(2, i).Value = A(i)
Next i
Cells(1, 1) = "Vhodnoj"
Cells(1, 2) = "Massiv"
Cells(3, 1) = "Vuhodnoj"
Cells(3, 2) = "Massiv"
Amin = A(1): Nmin = 1
Nvtoroy = 0
For i = 1 To n
If A(i) < 0 Then k = k + 1
If k = 2 Then Nvtoroy = i
If Amin > A(i) Then Amin = A(i): Nmin = i
Next i
If Nvtoroy > 0 Then
A(Nvtoroy) = Amin
els
MsgBox "В массиве А меньше 2 элементов меньших нуля"
End If
For i = 1 To n
Cells(4, i).Value = A(i)
Next i
End Sub


Только вот у меня вместо второго , который меньше нуля, меняет последний
Найдите ошибку
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 19:21   #2
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

некоторые пояснения
For i = 1 To n
If A(i) < 0 Then k = k + 1 ' находим элемент в массиве меньший нуля и переменную k увеличиваем на 1
If k = 2 Then Nvtoroy = i ' когда находим второй элемент массива меньший за ноль в переменной Nvtoroy запоминаем его место
If Amin > A(i) Then Amin = A(i): Nmin = i
Next i
If Nvtoroy > 0 Then
A(Nvtoroy) = Amin 'на место второго меньшего за ноль стравим минимальный
els
MsgBox "В массиве А меньше 2 элементов меньших нуля"
End If
Nataly1992 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку *natali* Помощь студентам 3 08.11.2009 17:30
Найдите ошибку MaJlbBuHa Паскаль, Turbo Pascal, PascalABC.NET 2 20.10.2009 23:26
Найдите ошибку St1fler92 Помощь студентам 4 26.05.2009 15:23
найдите ошибку Сова Паскаль, Turbo Pascal, PascalABC.NET 9 11.02.2009 18:46
Найдите ошибку! geniy JavaScript, Ajax 4 04.12.2007 16:22