Одномерный массив, Произведение элементов массива |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Одномерный массив, Произведение элементов массива |
Atreides |
Сообщение
#1
|
Ветеран Броуновского Движения Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Попалась задача на одномерный массив:
Заполнить массив из 200 элементов случайным образом и посчитать произведение элементов до первого отрицательного. Как такой рандом на отрицательные числа забить и подсчитать произведение? -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
compiler |
Сообщение
#2
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
как то так...
varзыв случае, если первый элемент отрицательный, произведение= единица ззы еще можна раскидать по процедурам -------------------- Спасибо!
Удачи! |
Atreides |
Сообщение
#3
|
Ветеран Броуновского Движения Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Так вот как это делалось.
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата ar[i]>=0 а стоит ли учитывать 0 ? Тут то 9 элементов, не страшно, а если их 9000 и первый же элемент = 0, дальнейший подсчет произведения не имеет никакого смысла. Так что у думаю под repeat .. until надо переделать и условие сделать строгое (для того, чтобы в случае если был домножен 0, выход из цикла) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Lapp |
Сообщение
#5
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
ar[i]:=random(10)-random(10); Вполне можно обойтись так: ar[i]:=random(20)-10; -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
Сообщение
#6
|
Гость |
Цитата - зачем это? Вот ЭТО: Цитата ar[i]:=random(20)-10; P.S. Кстати, первый вариант приведет к тому же результату. Сообщение отредактировано: volvo - |
Lapp |
Сообщение
#7
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
(при работе на TP и настройках по умолчанию) с большой степенью вероятности приведет к аварийному останову программы. Согласен, лучше явно преобразовать тип: ar[i]:=Integer(random(20))-10; -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
andriano |
Сообщение
#8
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
А если так?
ar[i] := random(2) + (-10); |
Текстовая версия | 4.05.2024 22:09 |