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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.05.2015, 10:28   #1
СергейКл
Пользователь
 
Регистрация: 18.05.2015
Сообщений: 15
По умолчанию visual basic. Дана последовательность из М чисел. Найти сумму и произведение всех положительных чисел

Помогите решить, плиз! Дана последовательность из М чисел. Найти сумму и произведение всех положительных чисел
СергейКл вне форума
Старый 19.05.2015, 13:29   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

А что собственно не получается?
Положительные числа можно выделить условным оператором:
Код:
if mas(i) > 0 then
    ...
    ...
End If
Сумму и произведение чисел можно найти так:
Код:
Sum = 0
Mull = 1
for i = 1 to M
   Sum = Sum + mas(i)
   Mull = Mull * mas(i)
Next
Это примеры кода, которые можно приспособить к задаче ...


Как-то так, ...
Как-то так, ...
ViktorR вне форума
Старый 19.05.2015, 15:49   #3
СергейКл
Пользователь
 
Регистрация: 18.05.2015
Сообщений: 15
По умолчанию

извините , не пойму что значит sum=0 и mull=1
СергейКл вне форума
Старый 19.05.2015, 16:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от СергейКл Посмотреть сообщение
извините , не пойму что значит sum=0 и mull=1
Это операция присвоения.
переменной sum присвоить значение 0
переменной mull присвоить значение 1
Serge_Bliznykov вне форума
Старый 19.05.2015, 18:07   #5
СергейКл
Пользователь
 
Регистрация: 18.05.2015
Сообщений: 15
По умолчанию

а зачем им присваивать 0 и 1, можете пояснить
СергейКл вне форума
Старый 19.05.2015, 18:38   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от СергейКл Посмотреть сообщение
а зачем им присваивать 0 и 1, можете пояснить
для того, чтобы ИНИЦИЛИЗИРОВАТЬ переменные.

поясню.
Вы дали Буратино два яблока.
Сколько у Буратино яблок?

Ответ - НЕИЗВЕСТНО, сколько, потому что Мы не знаем, сколько их было ДО того, как мы ему добавили ещё яблок.

Чтобы избежать такую ситуацию, нужно ввести иницилизацию переменной.
пусть у Буратино НЕТ (ноль) яблок.
в коде это будет так:
Код:
sum = 0
теперь насчёт умножения. Переменную тоже нужно иницилизировать.
Но занести туда ноль нельзя. Потом мы будет умножать наши числа на то, что мы туда занесли. Если ноль умножить на любое число, будет ноль.
Какое же число занести в переменную, чтобы умноженное на любое число, мы получили это самое число?
Ответ - 1 (единицу). Потом мы умножаем единицу на число и получаем это число в переменной:
Код:
Mull = Mull * mas(i)
первый ход цикла, в переменной Mull будет первое число массива
(потому что 1 * mas(1) = mas(1)
при втором прохождении цикла в переменной Mull будет первое число массива, умноженное на второе
(Mull = mas(1) *mas(2) (я подставил вместо Mull её значение, полученное на предыдущем шаге.
Ну и т.д.

пройдитесь пошагово по коду (можно на листочке бумаги), поймёте, что к чему.
Serge_Bliznykov вне форума
Старый 19.05.2015, 18:48   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это инициализация. Присвоение переменным начального значения, чтоб последующие арифметические операции считали правильно. Сам посуди что будет если первому значению геометрической прогрессии присвоить ноль.
I'm learning to live...
Stilet вне форума
Старый 19.05.2015, 19:09   #8
СергейКл
Пользователь
 
Регистрация: 18.05.2015
Сообщений: 15
По умолчанию

то есть как я понимаю программа примет вид:
Код:
Privat sub....
Dim sum, mull,i as integer 
if  mas(i)>0 then 
sum=0
mull=1
for i = 1 to M
   Sum = Sum + mas(i)
   Mull = Mull * mas(i)
Next
end sub

Последний раз редактировалось Stilet; 19.05.2015 в 19:21.
СергейКл вне форума
Старый 19.05.2015, 19:23   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я бы IF вообще убрал бы. Или по крайней мере включил его внутрь цикла.
И кстати - он у тебя написан с ошибкой.
I'm learning to live...
Stilet вне форума
Старый 19.05.2015, 20:02   #10
СергейКл
Пользователь
 
Регистрация: 18.05.2015
Сообщений: 15
По умолчанию

а где ошибка
?
СергейКл вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Builder. Дана последовательность n различных целых чисел. Найти сумму членов, расположенных между максимальным и минимальным Rphoenix Помощь студентам 1 18.12.2014 22:17
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2014 13:59
Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности.С++ punkvalera Помощь студентам 1 13.05.2012 20:35
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках 'studentka' Помощь студентам 6 30.11.2011 18:35
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. Руся93 Помощь студентам 14 02.10.2011 13:12