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

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

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Строки, вычисление выражения
сообщение
Сообщение #1


Новичок
*

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

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


Помогите пожалуйста решить задачу:
Дана последовательность литер, имеющая следующий вид: +-d1+-d2+-d3+-dn(где di - цифра от 0 до
9). Последовательность заканчивается знаком "=". Вычислить значение алгебраической суммы.
С чего надо начать? Я вообще не въезжаю smile.gif Дотянул до последнего дня, ещё и спать охота...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


Сори за столь долгое молчание в теме, задачу всё ещё не сделал, и петух клюнул в одно место smile.gif
по поводу кода:
Цитата
m:=0;
i:=1;
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;

откуда взялось +-48? мне непонятно...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


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

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

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


Цитата(vovka239 @ 17.12.2009 10:09) *
откуда взялось +-48? мне непонятно...

ASCII код символа 0 есть 48 ($30). Далее по порядку: 1 - 49, 2 - 50.. При переводе символа в цифру нужен пересчет.


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


Гуру
*****

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

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


Цитата(Lapp @ 17.12.2009 10:58) *
ASCII код символа 0 есть 48 ($30). Далее по порядку: 1 - 49, 2 - 50.. При переводе символа в цифру нужен пересчет.
Дабы не возникало лишних вопросов:
m:=m+(Ord(s[i+1])-Ord('0'))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 6.05.2024 11:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name