Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Найти № строки сумма числовых значений входящих

Автор: Santrex 20.03.2005 19:34

Есть одна задачка.Кто сможет помочь с выполнением буду признателен.

Задан текст в который входят только цифры и буквы.Определить удовлетворяет ли этот текст следующему свойству:сумма числовых значений цифр входящих в текст равна длинне текста.

Если весь алгаритм не получиться написать напшите такие алгоритымы.

1.Как отлечить число в тексте от буквы и записать сумму букв в новый массив b[i] а сумму цифр в массив s[i].
(желательно наглядный пример в виде работающего алгоритма).

Автор: volvo 20.03.2005 19:38

Santrex, может хватит дублировать вопросы? Этот вопрос уже поднимался...
http://forum.pascal.net.ru/index.php?showtopic=4111&st=0&p=35584&#entry35584 Вот здесь.

Кроме этого - переформулируйте вопрос:

Цитата
1.Как отлечить число в тексте от буквы и записать сумму букв в новый массив b[i] а сумму цифр в массив s[i].

Сумму букв? Ну, например, вот текст: "asd56fgw234" Чему должна быть равна сумма букв ?

Автор: Santrex 21.03.2005 1:27

В этом примере :
длинна текста состоит из 11 символов
а сумма цифр 20
и получаеться что этот текст не удовлетворяет услвию,так как сумма цифр не равна длинне текста.
Ну насчет сложения букв я значит ошибся.

Автор: volvo 21.03.2005 1:40

Код
var
 s: string; i: byte;
 sum: integer;
begin
 write('Введите текст: '); readln(s);
 sum := 0;
 for i := 1 to length(s) do
   if s[i] in ['1' .. '9'] then inc(sum, ord(s[i]) - 48);
 if sum = length(s) then writeln('Длина текста = сумме цифр')
 else writeln('Длина текста отличается от суммы цифр')
end.


А теперь объясните мне, что в этом было сложного? Настолько сложного, что даже после объяснений, которые давались по ссылке приведенной выше, задачу нельзя было решить? Или просто хотелось не прилагая НИКАКИХ усилий получить готовое решение?

Ведь задача решается в 11 (!!!!) строк...

Автор: Santrex 22.03.2005 23:09

Ну извени я не такой умный как ты.И я некоторые функции незнаю.
Например что это за штука:

Код

inc(sum, ord(s[i]) - 48);

Скажи что это оно тут делает
ну например ord превращает символ в АСКИ код
а остальное тут я не понял.
Ну всеравно спасибо.
Надо будет больше почитать об этих функциях мне unsure.gif
А так ОГРОМНОЕ СПАСИБО. smile.gif

Автор: Altair 22.03.2005 23:11

увеличивает (inc) переменную (sum) на число записанное в s[i]