Показать сообщение отдельно
  #6  
Старый 26.05.2008, 15:59
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Цитата:
Сообщение от MaxMaster
Привет всем.

Помогите плиз решать задачу...

В файле исходных данных задается отдельный символ и две строки слов. Написать Паскаль-программу, включающуюю 2 процедуры, выполняющие следующие действия:
* печать слов, встречающихся в обеих заданных строках
* выявление строки, в которой заданный символ встречается чаще!

Заранее благодарен!

Код:
var
  f: Text;
  Symb, Str1, Str2: string;

procedure PrintWord;
var
  s, Word: string;
begin
  s := Str1;
  while pos(' ', s)<>0 do
  begin
    Word := copy(s, 1, pos(' ', s)-1);
    if pos(Word, Str2)<>0 then writeln(Word);
    s := Delete(s, 1, pos(' ', s));
  end;
  // Проверяем остаток строки
  if pos(s, Str2)<>0 then writeln(Word);
end;

procedure CheckCount;
var
  i: Integer;
  Cnt1, Cnt2: Integer;
begin
  Cnt1 := 0;
  Cnt2 := 0;
  for i:=1 to length(Str1) do
    if Str1[i]=Symb then inc(Cnt1);
  for i:=1 to length(Str2) do
    if Str1[i]=Symb then inc(Cnt2);

  if (Cnt1=0) and (Cnt2=0) then
    writeln('Символ не встречается')
  else 
    if Cnt1=Cnt2 then writeln('Встречает одинаковое количество раз');
  if Cnt1<Cnt2 then writeln('В 1-ой страке чаще');
  if Cnt1>Cnt2 then writeln('Во 2-ой страке чаще');
end;

BEGIN
  Assign(f, 'ИмяФайла.txt');
  Reset(f);
  readln(f, Symb);
  readln(f, Str1);
  readln(f, Str2);
  Close(f);
  PrintWord;
  CheckCount;
END.
Ответить с цитированием