![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
_Victori_ |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 2.3.2011 Город: Урюпинск ![]() |
вот такое у меня задание-сформировать элементы массива B(13) по правилу: b(i)=cos((пи*b(i-1))/2), где b1=1. Подсчитать кол-во нулевых элементов массива и сумму положительных элементов массива.
Вот что я сделала: Private Sub CommandButton1_Click() Dim b(1 To 13) As Single, i As Integer p = 3.14159265 For i = 1 To 13 b(i) = Cells(1 + i, 2) b(1) = 1 b(i) = Cos((p * b(i - 1)) / 2) вот здесь он не понимает значение b(i - 1),пишет что за рамки массива выходит If b(i) > 0 Then s = s + b(i) next i TextBox1.Value = s If b(i) = 0 Then k = k + 1 Next i TextBox2.Value = k End Sub я уже вообще полностью запуталась, помогите пжлст) |
Евгений М. |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент ![]() |
У Вас первый элемент массива имеет индекс 1.
В первом шаге цикла производится попытка обратится к элементу с индексом 0. Вообщем сделайте следующее: 1. Уберите "b(i) = Cells(1 + i, 2)" 2. Выносите "b(1) = 1" из цикла 3. Начальное значение s должно равнятся b(1) 4. Цикл начинайте с 2, вместо 1 |
_Victori_ |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 2.3.2011 Город: Урюпинск ![]() |
всё переделала) т.к. мы делаем на учёбе, а там компы очень тормозят, пришлось массив выводить в listbox. вот что получилось:
Private Sub CommandButton1_Click() Dim b(1 To 13) As Double, i As Integer Dim k, s As Double s = 1 k = 0 ListBox1.Clear p = 3.14159265 b(1) = 1 For i = 2 To 13 b(i) = Cos((p * b(i - 1)) / 2) ListBox1.AddItem (Format(b(i), "0.00000000000")) If b(i) > 0 Then s = s + b(i) End If If b(i) = 0 Then k = k + 1 End If TextBox1.Value = (Format(s, "0.00000000000")) TextBox2.Value = k Next i End Sub ещё долго не понимала, почему не считает нулевые элементы. потом дошло. вроде бы по формуле есть нули, т.к. соs пи/2 равен нулю. но мы вводили пи=p = 3.14159265, а косинус всего этого 0.00000000179. вот так вот)) |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:31 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru