• Задан текст в виде последовательности из 40 слов, каждое не более 25 символов. Сколько раз в тексте встречаются слова: ЗНАЧИТ, ВОТ, АВТМОБИЛЬ?через процедуры

Ответы 2

  • В программе предполагается, что слова отделяются друг от друга одним пробелом, знаков препинания нет.const m=3;var s:string;sl:array[1..m] of string=('ЗНАЧИТ', 'ВОТ', 'АВТОМОБИЛЬ');n:array[1..m] of integer;i:integer;procedure pr(s1,s2:string; var k:integer);var l,p:integer;begin s1:=' '+s1+' '; l:=length(s2); k:=0; p:=pos(s2,s1); while p>0 do  begin  if (s1[p-1]=' ')and(s1[p+l]=' ') then k:=k+1;  delete(s1,1,p+l);  p:=pos(s2,s1);  end;end;beginwriteln('Введите текст:');readln(s);for i:=1 to m do begin pr(s,sl[i],n[i]); writeln(sl[i],' - ',n[i]); end;end.Пример (слов меньше 40):Введите текст:ЗНАЧИТ ТАК ВОТ АВТОМОБИЛЬ РАЗ ВОТ АВТОМОБИЛЬ ДВА ВОТ АВТОМОБИЛЬ ТРИЗНАЧИТ - 1ВОТ - 3АВТОМОБИЛЬ - 3
    • Автор:

      gracejasx
    • 6 лет назад
    • 0
  • Этой программе все равно, сколько слов во фразе и какой они длины. А заодно, ей все равно, сколько между словами пробелов...// PascalABC.NET 3.1, сборка 1230 от 27.04.2016procedure Times(a:array of string; pic:string; var n:integer);begin  n:=a.Where(s->s=pic).Countend;begin  var s:=ReadlnString('>').ToWords;  var k:integer;  var w:='ЗНАЧИТ'; Times(s,w,k); Println(k,'-',w);  w:='ВОТ'; Times(s,w,k); Println(k,'-',w);  w:='АВТОМОБИЛЬ'; Times(s,w,k); Println(k,'-',w);end.Тестовое решение> ВОТ ЗНАЧИТ КАКОЕ ДЕЛО БЫЛО ЕХАЛ ПО ДОРОГЕ АВТОМОБИЛЬ И ВОТ СТОИТ ЧЕЛОВЕК И ДУМАЕТ А ЧТО ЗНАЧИТ СЛОВО АВТОМОБИЛЬ А СЛОВО АВТОМОБИЛЬ ЭТО ОТ ГРЕЧЕСКОГО АУТОС (САМ) И ЛАТИНСКОГО МОБИЛИС (ПОДВИЖНЫЙ) ВОТ ТАКОЕ ЭТО СЛОВО2 - ЗНАЧИТ 3 - ВОТ 3 - АВТОМОБИЛЬ
    • Автор:

      proboaod0
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years