Тема: Pascal
Показать сообщение отдельно
Старый 30.05.2014, 14:43   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Зюня,0 Посмотреть сообщение
Проблема в 3 задачи мне преподаватель сказал в том что когда ввожу строку к примеру (12345 568123 123) программа за место того чтобы вывести что слово (123) встречается только 1 раз выводит что оно встречается 3 раза тоесть получается как то надо что то добавить а я не понимаю)))
Ну что же, попробуйте так:
Код:
var
 a,b:string;
 k,i:integer;
 S:Set of Char;
begin
 S:=['A'..'Z']+['a'..'z']+['А'..'Я']+['а'..'я']+['0'..'9'];
 write('text: ');
 readln(a);
 write('slovo: ');
 readln(b);
 k:=0;
 while pos(b,a)>0 do
  begin
   if ((pos(b,a)=1) and not (a[pos(b,a)+Length(b)+1] in S)) or
      (not (a[pos(b,a)-1] in S) and not (a[pos(b,a)+Length(b)] in S)) or
      (not (a[pos(b,a)-1] in S) and (pos(b,a)+Length(b)-1=Length(a))) then k:=k+1;
   delete(a, pos(b,a), length(b));
  end;
 writeln(k);
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070