![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Как прибавить числа в строке друг на друга
например у нас есть строка в котором числа 123456789 а нам надо прибавить их друг на друга 1+2+3+4+5+6+7+8+9=45 как это можно сделать? Нет ничего не возможного. Вопрос только во времени... |
#2
|
|||
|
|||
![]() Код:
function abc(s:string):integer; var i:integer; begin for i:=1 to Length(s) do Result:=Result+StrToInt(s[i]); end; как-то так |
#3
|
||||
|
||||
![]() у меня ответ вместо 45 получаеться 1243021
Нет ничего не возможного. Вопрос только во времени... |
#4
|
||||
|
||||
![]() Код:
function abc(s:string):integer; var i:integer; begin Result:=0; for i:=1 to Length(s) do Result:=Result+StrToInt(s[i]); end; |
#5
|
|||
|
|||
![]() С десятичными уже не будет работать надо условие добавить что после 9 считывать i+1,и т.д.
|
#6
|
||||
|
||||
![]() Цитата:
Тут же не сложение двух чисел, а сложение цифр числа. В последнее время что-то зачастили безсмысленные посты... Перед тем как набивать подобные посты, советую хотя бы разобратьтся в сути вопроса. |
#7
|
|||
|
|||
![]() Цитата:
Цитата:
|
#8
|
||||
|
||||
![]() Можно и так поставить задачу, но найди тогда в строке
237345324578673476234632 число больше 9? |
#9
|
|||
|
|||
![]() Про меньше 9:Это,если цифры идут последовательно,как и было указано в задаче.Сообщением выше написал,что разумнее вводить через пробел.
|
#10
|
||||
|
||||
![]() Делаю по олд-скульному ))
Код:
function SumNumbers(S:String); var Ch:char I:byte; begin Result:=0; For I:=1 to Length(S) do begin Ch:=S[i]; Result:=Result+Ord(Ch)-30; //(Конечно правильно Result:=Result+StrToInt(s[i]); но я предполагаю что в строке уже всё цыфры end; end; Хорошо написанная программа не требует документации ICQ 9-184-668. |