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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2015, 14:11   #1
Impedans
Новичок
Джуниор
 
Регистрация: 22.12.2015
Сообщений: 2
По умолчанию Найти произведение элементов массива

Найти произведение элементов массива С, больших 14. Элементы массива формируются по правилу : с(i)=cos(c(i-1)+1)+14; c(i)=1; i=2,3....16. Если таких элементов нет, то выдать соответствующее значение. Программку бы для Visual Basic, пожалуйста. Спасибо.
Impedans вне форума Ответить с цитированием
Старый 25.12.2015, 15:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По памяти:
Код:
Dim c(16) as double
Dim i as integer
Dim p as double
c(0)=1
p=1
for i=1 to 15
 c(i)=cos(c(i-1)+1)+14
 p=p*c(i)
next i
MsgBox CStr(p)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 15:15   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Виталий, упустили, что
Цитата:
больших 14
Код:
Dim c(16) as double
Dim i as integer
Dim p as double
c(0)=1
p=1
for i=1 to 15
 c(i)=cos(c(i-1)+1)+14
 if c(i)>14
    p=p*c(i)
 endif
next i
if (p=1)
MsgBox 'Таких нет
else
MsgBox CStr(p)
endif
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.12.2015, 15:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ага. Точняк.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2015, 15:48   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

then пропустили и ' - это комментарий
Попробовал раз 20 запустить, 20/20 - "Таких нет"
Код:
Sub a()
    Dim c(16) As Double
    Dim i As Integer
    Dim p As Double
    c(0) = 1
    p = 1
    For i = 1 To 15
        c(i) = Cos(c(i - 1) + 1) + 14
        If c(i) > 14 Then
            p = p * c(i)
        End If
    Next i
    If (p = 1) Then
        MsgBox "Таких нет"
    Else
        MsgBox CStr(p)
    End If
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.12.2015, 21:52   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Попробовал раз 20 запустить, 20/20 - "Таких нет"
да хоть 200. Они так и не появятся.
Дело в том, что c[2] = cos(1+1) = cos(2) = -0,416146836547142
если добавить 14, получим 13,5838531634529
cos( 13,5838531634529 + 1 ) = -0,431979269840637
и т.д.

легко в Excel написать формулу, протянуть и увидеть, что значений больше 14 в этом ряду нет.
финита.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти произведение элементов массива (VB) Impedans Помощь студентам 0 22.12.2015 19:13
Pascal. Найти сумму и произведение положительных элементов массива Звездочка 22 Паскаль, Turbo Pascal, PascalABC.NET 4 01.02.2015 12:24
Дан двумерный массив А размера n*n . Найти произведение не нулевых элементов массива А находящийся в четных столбцах (Delphi) Kat9 Помощь студентам 1 02.03.2014 19:11
11. Найти произведение элементов нечетных строк массива. Вывести сам массив и произведение. p-6 Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2012 23:37
Найти произведение элементов массива, не равных 0 и стоящих на четных местах ( Delphi ) Nikta1111 Помощь студентам 1 06.12.2011 08:27