Определить, сколько раз в строке встречается заданное слово - Pascal ABC

  1. Определить, сколько раз в строке встречается заданное слово.


textual

Код к задаче: «Определить, сколько раз в строке встречается заданное слово - Pascal ABC»

const N = 100;
type words = array[1..N] of string;
var input_str:string;   // исходная строка
var wrd_from_str:words;  // слова из строки
var cnt,l,match_count:byte;
var match_word:string;  // искомое слово
 
//процедура разбивает строку на слова
//@param s - исходная строка
//@param wrd - получаемый массив слов
//@param cnt - количество полученных слов
procedure DivStrToWrd(s:string;var wrd:words;var cnt:byte);
    var i,b:integer;
     divs:set of char;
     w:boolean;
    begin
    cnt :=0;
    divs:=[' ',',','.','!','?',':',';']; //разделители
    w:=false;
    s:=s+' ';
    for i:=1 to length(s) do
     begin
     if w then
      begin
      if s[i] in divs then
       begin
       inc(cnt);
       wrd[cnt]:=copy(s,b,i-b);
       w:=false;
       end;
      end else
      begin
      if not (s[i] in divs) then
       begin
       w:=true;
       b:=i;
       end;
      end;
     end;
    end;
 
  //main program
    begin
     input_str := 'adsfdsaf adsfsd fdsa fdsf? adsf adsf, adfdsf adsf';
     DivStrToWrd(input_str,wrd_from_str,cnt);
     match_word := 'adsf';
     match_count := 0;
     for l := 1 to cnt do
     begin
     Write('*', wrd_from_str[l], '* ');
     if wrd_from_str[l] = match_word then match_count := match_count + 1;
     end;
     writeln;
     writeln('matched: ',match_count);
    end.

СДЕЛАЙТЕ РЕПОСТ

8   голосов, оценка 4.125 из 5



Похожие ответы
  1. нужная область-заштрихованная. радиус равен 4

  1. Нужно переделать код так чтобы он при вводи четырех чисел определял совпадают ли в нем вторая и последняя.

  1. Дано натуральное число, определите сколько раз в нём встретится последняя цифра. решение нужно через цикл goto

  1. Здравствуйте, помогите разобраться! Дано задача. Кубики. Кубик с ребром N см покрасили и разрезали на кубики с ребром 1 см. При этом появились такие, у которых окрашено разное количество граней. Например, если N = 3, то после разрезания будет 8 кубиков, у которых окрашено три грани, 12 с двумя гранями, 6 с одной, а один кубик будет совсем неокрашенный. Составьте программу, которая бы определяла, сколько кубиков с каждой возможным количеством окрашенных граней. Как можно создать Ввод и Вывод файл не как не могу! Задачу из интернета скачал. Delphi1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 program cubes; uses crt; var x,x1,x2,x3,x0,y,z,k,n:integer; s:string; f,g:text; begin assign(f,'cubes.dat'); reset(f); readln(f,y); close(f) ; x3:=8; x1:=sqr(y-2)*6; x0:=(sqr(y-2))*(y-2); x2:=(y-2)*4*2+(y-2)*4; assign(g,'cubes.sol'); rewrite(g); writeln(g,'0/',x0,' 1/',x1,' 2/',x2,' 3/',x3); close(g); end.

  1. 29. Определить, заканчивается ли заданное натуральное число на нечетную цифру

  1. 2)Определить какая буква о или а входит в него чаще и на сколько их надо написать множеством

  1. Определить, равны ли первая и последняя цифры заданного с клавиатуры числа.

  1. Для заданного натурального числа определить, сколько раз в его записи встречается каждая из цифр. (Паскаль и Бейсик) Помогите :С

  1. Принадлежит ли точка М(x;y) закрашенной области. Крайние точки области y(2;-2) x(1;-1), т.е. ромб.

  1. Ввести с клавиатуры n любых целых чисел. Ли они двухзначные? Ответ «да» или «нет». Буду очень благодарна за помощь