1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| vovka239 |
3.12.2009 21:57
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Помогите пожалуйста решить задачу:
Дана последовательность литер, имеющая следующий вид: +-d1+-d2+-d3+-dn(где di - цифра от 0 до 9). Последовательность заканчивается знаком "=". Вычислить значение алгебраической суммы. С чего надо начать? Я вообще не въезжаю |
![]() ![]() |
| Lapp |
4.12.2009 0:29
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
С чего надо начать? Просматриваешь строку в цикле. Нечетный символ - знак (+, - или =). Четный - цифра. По ходу вычисляешь сумму.Добавлено через 9 мин. Что-то типо так: m:=0; -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| vovka239 |
4.12.2009 2:01
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Непонимаю...
Там ещё массив должен быть? Или цикл for? Короче пока забью, всё равно щас не сделаю... может позже что придумаю. |
| Lapp |
4.12.2009 2:10
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Там ещё массив должен быть? Или цикл for? Нет, ни массива, ни for не нужно (вместо for я сделал while). Опиши переменные и добавь ввод самой строки с начальными данными. Ну и вывод результата, конечно.-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| andriano |
4.12.2009 12:57
Сообщение
#5
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
|
| vovka239 |
17.12.2009 10:09
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Сори за столь долгое молчание в теме, задачу всё ещё не сделал, и петух клюнул в одно место
по поводу кода: Цитата m:=0; откуда взялось +-48? мне непонятно... |
| Lapp |
17.12.2009 10:58
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
откуда взялось +-48? мне непонятно... ASCII код символа 0 есть 48 ($30). Далее по порядку: 1 - 49, 2 - 50.. При переводе символа в цифру нужен пересчет. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| vovka239 |
17.12.2009 12:45
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Примерно так?
program Project2; А почему у меня не выводится результат, а просто вылетает программа? Ведь readln прописал как положено вроде. |
| Lapp |
17.12.2009 12:55
Сообщение
#9
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Замени
read(s[i]); на readLn(s[i]); -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| vovka239 |
17.12.2009 13:29
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Всё-равно вылетает...
|
| volvo |
17.12.2009 14:11
Сообщение
#11
|
|
Гость |
Ничего не вылетает, если подумать, что ты хочешь ввести, и куда ты это пытаешься ввести. Убери 3 символа - все запустится...
|
| andriano |
17.12.2009 19:53
Сообщение
#12
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
|
| Lapp |
18.12.2009 2:55
Сообщение
#13
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| vovka239 |
21.12.2009 22:19
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Цитата Замени read(s[i]); на readLn(s[i]); Заменил, всё-равно не пашет. Запускаю программу, Ввожу "+", жму интер, оно мне выдаёт 0, снова "+" или "-", интер и всё, закрывается... |
| Lapp |
22.12.2009 5:31
Сообщение
#15
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Заменил, всё-равно не пашет. Запускаю программу, Ввожу "+", жму интер, оно мне выдаёт 0, снова "+" или "-", интер и всё, закрывается... Моя ошибка, извини. Я не заметил, что ты читаешь посимвольно. Нужно не ReadLn(s[i]); , а вот так: ReadLn(s); - то есть ты должен читать всю строку сразу, а не по одному символу. Теперь твои ошибки.. Одну уже сказал, вторая, видимо, вытекает из нее. При вводе нужно набирать всю строку - энтер нужно нажимать один раз в самом конце строки (и еще один раз после вывода результата). То есть ты вводишь: +2+5-4+3-1= (и жмешь энтер) Получаешь: 5 Жмешь энтер еще раз, чтобы выйти из проги. Строка всегда должна начинаться со знака (+ или -), содержать только однозначные числа и заканчиваться знаком "=". Вот тебе на всякий случай полный код, без излишеств и правильно отформатированный. program Project2; Успехов. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| vovka239 |
22.12.2009 12:32
Сообщение
#16
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Спасибо большое за помощь!!!
|
![]() ![]() |
|
Текстовая версия | 9.12.2025 18:34 |