Помощь - Поиск - Пользователи - Календарь
Полная версия: Найти № строки сумма числовых значений входящих
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Santrex
Есть одна задачка.Кто сможет помочь с выполнением буду признателен.

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

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

1.Как отлечить число в тексте от буквы и записать сумму букв в новый массив b[i] а сумму цифр в массив s[i].
(желательно наглядный пример в виде работающего алгоритма).
volvo
Santrex, может хватит дублировать вопросы? Этот вопрос уже поднимался...
http://forum.pascal.net.ru/index.php?showt...584&#entry35584 Вот здесь.

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

Сумму букв? Ну, например, вот текст: "asd56fgw234" Чему должна быть равна сумма букв ?
Santrex
В этом примере :
длинна текста состоит из 11 символов
а сумма цифр 20
и получаеться что этот текст не удовлетворяет услвию,так как сумма цифр не равна длинне текста.
Ну насчет сложения букв я значит ошибся.
volvo
Код
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
Ну извени я не такой умный как ты.И я некоторые функции незнаю.
Например что это за штука:
Код

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

Скажи что это оно тут делает
ну например ord превращает символ в АСКИ код
а остальное тут я не понял.
Ну всеравно спасибо.
Надо будет больше почитать об этих функциях мне unsure.gif
А так ОГРОМНОЕ СПАСИБО. smile.gif
Altair
увеличивает (inc) переменную (sum) на число записанное в s[i]
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.