23.10.2015, 17:58 | #1 (permalink) |
Новичок
Регистрация: 23.10.2015
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Memo
Определить количество чисел в тексте (пример в следующем тексте «12df7y 21g2 34 5» находится 6 чисел); |
23.10.2015, 17:58 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Полезные советы по решению проблемы можно найти в аналогичных обсуждениях Asus Memo PAD7 выключается и включается бесконечно Asus MEMO Pad ME302KL Работа с Memo Работа с Memo и Edit |
23.10.2015, 18:04 | #2 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
Огласите все условия задачи.
Где текст находиться, в переменной ? в файле , Вводится вручную ? Однострочный ? Многострочный ? Язык программирования (ЯП) ? |
23.10.2015, 18:48 | #5 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
23.10.2015, 20:14 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Уж не знаю, сколь это Вам поможет, но на Паскале это можно решить, например, так:
Код:
Const S='12df7y 21g2 34 5'; Var S1:String; i,N:Byte; Begin N:=0; i:=0; Repeat repeat Inc(i); until ((Ord(S[i])>47) and (Ord(S[i])<58)) or (i=Length(S)); if (Ord(S[i])>47) and (Ord(S[i])<58) then begin Inc(N); S1:=''; S1:=S1+S[i]; repeat if i<Length(S) then begin Inc(i); if (Ord(S[i])>47) and (Ord(S[i])<58) then S1:=S1+S[i]; end; until (Ord(S[i])<48) or (Ord(S[i])>57) or (i=Length(S)); Writeln(S1); end; Until i=Length(S); Writeln('N = ',N); Readln End. |
23.10.2015, 22:58 | #9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Проще-то проще, да жаль только, что кругом неправильно:
1. Требуется сосчитать не количество цифр, а количество чисел, т.е. если, напрмер, в тексте идёт последовательность 4763, то это одно число (четыре тысячи семьсот шестьдесят три), а не четыре. 2. s[i] - это величина типа Char, а не Byte. Требуется перевод через оператор Val, а с ним лучше без необходимости не связываться. 3. А Case-то тут зачем? По смыслу достаточно If. |
24.10.2015, 00:44 | #10 (permalink) |
IDDQD
Регистрация: 16.03.2008
Адрес: Москва
Сообщений: 16,206
Записей в дневнике: 3
Сказал(а) спасибо: 1,040
Поблагодарили 261 раз(а) в 122 сообщениях
Репутация: 43234
|
Типа демо версии или трейлер к фильму
Скромный студент, обычно тут в разделе выкладывают фотки и требуют решить даже не здороваясь
__________________
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|