
26.05.2008, 15:59
|
Начинающий
|
|
Регистрация: 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.
|