22.10.2010, 21:28 | #1 (permalink) |
Member
Регистрация: 17.10.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Строки
Нуждаюсь в помощи.. |
22.10.2010, 21:28 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Иногда для успешного решения проблемы стоит лишь обратить внимание на схожие топики Строки в С Строки |
22.10.2010, 22:19 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR S1,S2:STRING; Function CountStr(str1,str2:STRING):BYTE; var i,j:INTEGER; b:BOOLEAN; N:BYTE; begin i:=0; N:=0; Repeat b:=true; For j:=1 to Length(str2) do If str1[i+j]<>str2[j] then b:=false; If b then begin Inc(N); Inc(i,Length(str2)); end else Inc(i); Until i+Length(str2)>Length(str1); CountStr:=N; end; BEGIN WriteLn('Enter the LONG string'); ReadLn(S1); WriteLn('Enter the SHORT string'); ReadLn(S2); WriteLn('N= ',CountStr(S1,S2)); ReadLn; END. |
|
22.10.2010, 22:25 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
А, прорвался, наконец. Не, моя лучше: там str2 имеет фиксированную длину, равную 3, а у меня - произвольную. И цикл организован лучше. Вот. |
|
23.10.2010, 00:24 | #5 (permalink) |
Member
Регистрация: 17.10.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо большое
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|