Решить табличным В финале турнира Российской Армии по шахматам встрети- лись представители шести воинских званий: майор, капитан, лейтенант, старшина, сержант и ефрейтор, причем разных специальностей: лётчик, танкист, артиллерист, миномётчик, сапёр и связист. Определите специальность и звание каждого из шахматистов по следующим данным: 1) в первом туре лейтенант выиграл у лётчика, майор у танкиста, а сержант — у миномётчика; 2) во втором туре капитан выиграл у танкиста; 3) в третьем и четвёртом турах миномётчик из-за болезни не участвовал в турнире, поэтому свободными от игры оказа- лись капитан и ефрейтор; 4) в четвёртом туре майор выиграл у связиста; 5) победителями турнира оказались лейтенант и майор, а хуже всех выступил сапёр.
Var s,s1:string; i,n,n1,k,p:integer; begin Write('Введите строку: '); Readln(s); n:=Length(s); Write('Введите подстроку: '); Readln(s1); n1:=Length(s1); k:=0; i:=1; while i<=n-n1+1 do begin p:=pos(s1,s,i); if p>0 then begin Inc(k); i:=p+n1 end else i:=n; { для выхода } end; Writeln(s1,' встречается в ',s,' ',k,' раз(а)') end.
Пример Введите строку: Наша Таня громко плачет: уронила в речку мячик Введите подстроку: ро ро встречается в Наша Таня громко плачет: уронила в речку мячик 2 раз(а)