![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
tolyanl1985 |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Анатолий Репутация: ![]() ![]() ![]() |
Дана последовательность неотрицательных чисел, последнее из которых равно нулю, причём других равных нулю чисел в последовательности нет. Вычислить произведение положительных чисел этой последовательности
решил так: program Posledovatelnost; var a,b:integer; begin Writeln('Введите через пробел последовательность положительных чисел, окончание ввода "0"'); read(a); b:=1; while a<>0 do begin if a>0 then b:=b*a; read(a); end; if b<>1 then writeln('Произведение положительных чисел последовательности = ',b) else writeln('В последовательности кроме нуля нет элементов'); end. Всё считает, но есть загвоздка когда вводишь последовательность "1 0" пишет ответ "В последовательности нет элементов" В чём ошибка подскажите плиз!!! Заранее огроменное спасибо |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Загвоздка в том, что если произведение чисел в последовательности равно 1, то это не значит, что чисел в последовательности нет.
-------------------- |
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
|
tolyanl1985 |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Анатолий Репутация: ![]() ![]() ![]() |
Помогите ПЛИЗ!!!
![]() ![]() ![]() |
TarasBer |
![]()
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
У тебя есть последовательность, в которой одни единицы.
Произведение чисел в ней равно ЧЕМУ? А программа, встретив такое значение, выводит ЧТО? -------------------- |
FLASH911 |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
program Posledovatelnost; В этой строчке ошибка: if b>0 then writeln, зачем тебе b<>1, если нужно больше нуля? -------------------- |
Krjuger |
![]()
Сообщение
#7
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Неправильно, если в списке нету элементов, то b будет тоже равно 1, потому что единицей инициализируется.
Я бы ввел банальный счетчик кол-ва элементов и не парился бы со всем этим..... |
FLASH911 |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
program Posledovatelnost; Тогда так, с использованием счётчика. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 4:01 |