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

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

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

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

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

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

Здравствуйте! Опять обращаюсь к вам))
Вот такая вот задачка.
Дан одномерный массив А(n), который состоит не менее, чем из 10 элеметов(больших за ноль, меньших за ноль, нулевых). Выходной массив получить, поменяв второй елемент, меньший за ноль, минимальным. Вывести оба массива - входной и выходной в Excel.
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 16:40   #2
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Нам на паре дали вот такую задачу:
Дан одномерный массив А(n). Выходной массив получить, поменяв местами первый и последние элементы.
вот так вот програмировали:
Private Sub CommandButton1_Click()
n=InputBox ("Vvedite kolichestvo n")
ReDim A(n)
For i=1 To n
A(i)=InputBox(Vvedite A("& и &"))
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"
Amax=A(1):Amin=A(1)
Nmax=1:Nmin=1
For i=2 To n
If Amax<A(i) Then Amax=A(i):Nmax=i
If Amin>A(i) Then Amin=A(i):Nmin=i
Next i
A(Nmax)=Amin
A(Nmin)=Amax
For i=1 To n
Cells(4,i).Value=A(i)
Next i
End Sub


Преподаватель сказала, что здесь чтото нужно заменить, чтобы сделать то условие, которое у меня в первом сообщении.
Помогите пожалуйста
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 17:54   #3
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Неужели никто не знает*???
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 18:04   #4
alyon_ka
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 40
По умолчанию

ну во первых есть ошибка в строке
A(i)=InputBox(Vvedite A("& и &"))
надо заменить
A(i) = InputBox("Vvedite A(" & i & ")")
ну остальное сейчас напишу
alyon_ka вне форума Ответить с цитированием
Старый 20.12.2009, 18:06   #5
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

буду ждать...Нам на парах вообще ничего не обьясняют
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 18:15   #6
alyon_ka
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 40
По умолчанию

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
alyon_ka вне форума Ответить с цитированием
Старый 20.12.2009, 18:17   #7
alyon_ka
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 40
По умолчанию

некоторые пояснения
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
alyon_ka вне форума Ответить с цитированием
Старый 20.12.2009, 18:31   #8
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Что то у меня не заменяет второй елемент......
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 18:35   #9
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

если я ввожу например 5 элементов(1,2,-3,-4,5), то у меня выбивает 1,2,-3,-4,-3
Nataly1992 вне форума Ответить с цитированием
Старый 20.12.2009, 19:00   #10
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

А если 10 и больше, то заменяет последний
Nataly1992 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив irisha||91 Помощь студентам 2 03.12.2009 16:39
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Одномерный массив вещественных чисел в VBA Катарина Питерская Microsoft Office Excel 1 13.11.2009 13:23
одномерный массив Sjava Помощь студентам 7 02.11.2009 10:01
VBA. Одномерный массив ExMatiss Microsoft Office Excel 9 07.05.2008 05:57