|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
15.11.2010, 17:14 | #1 (permalink) |
Member
Регистрация: 15.11.2010
Сообщений: 34
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Обработка строк. Использование множеств. Данные типа String.
Желательно с блок-схемой. |
15.11.2010, 17:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Возможно, этот вопрос уже решен ранее одним из участников форума Обработка данных литерного типа Обработка строк,массивов,записей Обработка данных типа запись в Паскале Тип String Обработка строк с использованием множественного типа данных Использование переменных строчного типа |
15.11.2010, 22:36 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Пжл:
Код:
VAR S,SS:String; St:ARRAY[1..127] of String; Cnt,N,N5:Byte; i,pos:Integer; Code:Word; Num:LongInt; BEGIN WriteLn('Enter the string:'); ReadLn(S); N:=0; i:=0; pos:=1; Cnt:=0; REPEAT Inc(N); Repeat Inc(i); If S[i]<>' ' then Inc(Cnt); Until (S[i]=' ') or (i=Length(S)); St[N]:=Copy(S,pos,Cnt); If i<Length(S) then begin Repeat Inc(i); Until S[i]<>' '; pos:=i; Cnt:=1; end; UNTIL i=Length(S); WriteLn('There are ',N,' words in the string'); N5:=0; For i:=1 to N do begin VAL(St[i],Num,Code); If (Code=0) and ((Num mod 5)=0) then Inc(N5); end; WriteLn('There are ',N5,' numbers divisible by 5'); ReadLn; END. |
16.11.2010, 10:51 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так, внимание - поправка!
Вчера как-то не обратил внимание, что пробелов может быть больше одного. Сейчас поправки в код (#3) внесены. |
16.11.2010, 23:43 | #5 (permalink) |
Member
Регистрация: 15.11.2010
Сообщений: 34
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
не могу понять... что не так с этой строчкой???!!!
VAL(St[i],Num,Code); |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
17.11.2010, 20:45 | #9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так, ну это уже кое-что. Очевидно, гримасы разных реализаций Паскаль-транслятора.
По сути: 1. Процедура VAL (преобразование строки в число) - стандартная процедура Паскаля. 2. Попробуйте в Вашем Паскале вызвать Help, найти там этот VAL и посмотреть, какие типы параметров для него предусмотрены. Возможно, Вашему Паскалю не понравился тип LongInt для искомого числа и Word для Code, а хочет, например, чтобы и то и другое было Integer, ну или еще что-нибудь в этом роде (проблем с первым параметром - строковой переменной - быть не должно). Тогда нужно просто в списке глобальных переменных поправить тип параметра. |
18.11.2010, 00:20 | #10 (permalink) |
Новичок
Регистрация: 11.11.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
......
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|