Предмет: Информатика,
автор: sasharom
Помогите написать 2 программы, срочно!!
1.Описать функцию, которая возвращает количество слов, в которых содержится хотя бы одна заданная буква.
2.Описать процедуру, которая печатает все буквы, входящие в строку менее К раз, с указанием количества вхождений.
Ответы
Автор ответа:
0
1)function Counter(s:string;c:char):integer;
var sub:string;
i,k:integer;
begin;
k:=0;
while pos(' ',s)<>0 do
begin;
for i:=1 to pos(' ',s)-1 do
sub:=sub+s[i];
if pos(c,sub)<>0 then inc(k);
delete(s,1,pos(' ',s));
delete(sub,1,length(sub));
end;
if pos(c,s)<>0 then inc(k);
Counter:=k;
end;
2)procedure StrangeSeq(s:string;k:integer);
var i,cou:integer;
sub:string;
ar:array of integer;
arc:array of char;
begin;
setlength(ar,length(s)+1);
setlength(arc,length(s)+1);
cou:=length(s);
while cou<>0 do
begin;
inc(i);
arc[i]:=s[1];
sub:=s[1];
while pos(sub,s)<>0 do
begin;
inc(ar[i]);
delete(s,pos(sub,s),1);
end;
cou:=length(s);
if (ar[i]>k) and (arc[i]<>' ') then
writeln('Sign:',arc[i],' count:',ar[i]);
end;
end;
var sub:string;
i,k:integer;
begin;
k:=0;
while pos(' ',s)<>0 do
begin;
for i:=1 to pos(' ',s)-1 do
sub:=sub+s[i];
if pos(c,sub)<>0 then inc(k);
delete(s,1,pos(' ',s));
delete(sub,1,length(sub));
end;
if pos(c,s)<>0 then inc(k);
Counter:=k;
end;
2)procedure StrangeSeq(s:string;k:integer);
var i,cou:integer;
sub:string;
ar:array of integer;
arc:array of char;
begin;
setlength(ar,length(s)+1);
setlength(arc,length(s)+1);
cou:=length(s);
while cou<>0 do
begin;
inc(i);
arc[i]:=s[1];
sub:=s[1];
while pos(sub,s)<>0 do
begin;
inc(ar[i]);
delete(s,pos(sub,s),1);
end;
cou:=length(s);
if (ar[i]>k) and (arc[i]<>' ') then
writeln('Sign:',arc[i],' count:',ar[i]);
end;
end;
Похожие вопросы
Предмет: Другие предметы,
автор: sorokinad04125
Предмет: Математика,
автор: maiamariachernova
Предмет: Математика,
автор: Adelina62819
Предмет: Математика,
автор: roninilya