IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

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). Последовательность заканчивается знаком "=". Вычислить значение алгебраической суммы.
С чего надо начать? Я вообще не въезжаю smile.gif Дотянул до последнего дня, ещё и спать охота...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
vovka239
сообщение 21.12.2009 22:19
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Цитата
Замени
read(s[i]);
на
readLn(s[i]);

Заменил, всё-равно не пашет. Запускаю программу, Ввожу "+", жму интер, оно мне выдаёт 0, снова "+" или "-", интер и всё, закрывается...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 22.12.2009 5:31
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(vovka239 @ 21.12.2009 22:19) *
Заменил, всё-равно не пашет. Запускаю программу, Ввожу "+", жму интер, оно мне выдаёт 0, снова "+" или "-", интер и всё, закрывается...

Моя ошибка, извини. Я не заметил, что ты читаешь посимвольно. Нужно не
ReadLn(s[i]);
, а вот так:
ReadLn(s);
- то есть ты должен читать всю строку сразу, а не по одному символу.

Теперь твои ошибки.. Одну уже сказал, вторая, видимо, вытекает из нее. При вводе нужно набирать всю строку - энтер нужно нажимать один раз в самом конце строки (и еще один раз после вывода результата). То есть ты вводишь:

+2+5-4+3-1= (и жмешь энтер)

Получаешь:

5

Жмешь энтер еще раз, чтобы выйти из проги.

Строка всегда должна начинаться со знака (+ или -), содержать только однозначные числа и заканчиваться знаком "=".

Вот тебе на всякий случай полный код, без излишеств и правильно отформатированный.
program Project2;
var
i,m: integer;
s: string;
begin
m:=0;
i:=1;
Write('Vvedite s: ');
ReadLn(s);
while (i<=Length(s))and(s[i]<>'=') do begin
if s[i]='+' then m:=m+Ord(s[i+1])-48 else m:=m-Ord(s[i+1])+48;
i:=i+2;
end ;
Writeln(m);
readln;
end.

Успехов.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
vovka239   Строки   3.12.2009 21:57
Lapp   С чего надо начать?Просматриваешь строку в цикле. ...   4.12.2009 0:29
vovka239   Непонимаю... Там ещё массив должен быть? Или цикл ...   4.12.2009 2:01
Lapp   Там ещё массив должен быть? Или цикл for?Нет, ни м...   4.12.2009 2:10
andriano   Там ещё массив должен быть?В данном случае массив ...   4.12.2009 12:57
vovka239   Сори за столь долгое молчание в теме, задачу всё е...   17.12.2009 10:09
Lapp   откуда взялось +-48? мне непонятно... ASCII код с...   17.12.2009 10:58
andriano   ASCII код символа 0 есть 48 ($30). Далее по ...   17.12.2009 19:53
vovka239   Примерно так? program Project2; uses SysUtils; ...   17.12.2009 12:45
Lapp   Замени read(s[i]); на readLn(s[i]);   17.12.2009 12:55
vovka239   Всё-равно вылетает... :glare:   17.12.2009 13:29
Lapp   Всё-равно вылетает... :glare:Поясняй, где, что, ка...   18.12.2009 2:55
volvo   Ничего не вылетает, если подумать, что ты хочешь в...   17.12.2009 14:11
vovka239   Заменил, всё-равно не пашет. Запускаю программу, ...   21.12.2009 22:19
Lapp   Заменил, всё-равно не пашет. Запускаю программу, В...   22.12.2009 5:31
vovka239   Спасибо большое за помощь!!! :)   22.12.2009 12:32


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 18:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"