Помогите написать 2 программки, безотлагательно!!1.Обрисовать функцию, которая возвращает количество
Помогите написать 2 программки, безотлагательно!!
1.Обрисовать функцию, которая отдаёт количество слов, в которых содержится желая бы одна данная буковка.
2.Обрисовать функцию, которая печатает все буковкы, входящие в строчку наименее К раз, с указанием количества вхождений.
2 ответа
Тазиева
Алёна
1)function Counter(s:string;c:char):integer;
var sub:string;
i,k:integer;
begin;
k:=0;
while pos(' ',s)lt;gt;0 do
begin;
for i:=1 to pos(' ',s)-1 do
sub:=sub+s[i];
if pos(c,sub)lt;gt;0 then inc(k);
delete(s,1,pos(' ',s));
delete(sub,1,length(sub));
end;
if pos(c,s)lt;gt;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 coult;gt;0 do
begin;
inc(i);
arc[i]:=s[1];
sub:=s[1];
while pos(sub,s)lt;gt;0 do
begin;
inc(ar[i]);
delete(s,pos(sub,s),1);
end;
cou:=length(s);
if (ar[i]gt;k) and (arc[i]lt;gt;' ') then
writeln('Sign:',arc[i],' count:',ar[i]);
end;
end;
var sub:string;
i,k:integer;
begin;
k:=0;
while pos(' ',s)lt;gt;0 do
begin;
for i:=1 to pos(' ',s)-1 do
sub:=sub+s[i];
if pos(c,sub)lt;gt;0 then inc(k);
delete(s,1,pos(' ',s));
delete(sub,1,length(sub));
end;
if pos(c,s)lt;gt;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 coult;gt;0 do
begin;
inc(i);
arc[i]:=s[1];
sub:=s[1];
while pos(sub,s)lt;gt;0 do
begin;
inc(ar[i]);
delete(s,pos(sub,s),1);
end;
cou:=length(s);
if (ar[i]gt;k) and (arc[i]lt;gt;' ') then
writeln('Sign:',arc[i],' count:',ar[i]);
end;
end;
Злата Корячкина
Вот ещё варианты решения задач (пократче, без вложенных циклов):
1.
function kw(s:string; c:char):integer;
var sl:string; n,k,i:integer;
begin
n:=0; k:=0;
s:=s+'.';
for i:=1 to length(s) do
if s[i] in [' ',',',';','.']
then begin if kgt;0 then inc(n); k:=0; end
else if s[i]=c then inc(k);
kw:=n;
end;
var st:string; c:char;
begin
st:='program, begin, procedure, var, div, array.';
c:='r';
writeln('m=',kw(st,c));
end.
2. Здесь анализируются только строчные английские буковкы. При желании можно добавить большие англ. и российские. Всё будет аналогично.
procedure pk(s:string;k:integer);
var a:array['a'..'z'] of integer; i:integer; c:char;
begin
for c:='a' to 'z' do a[c]:=0;
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then inc(a[s[i]]);
for c:='a' to 'z' do if a[c]lt;k then writeln(c,' - ',a[c])
end;
var st:string; k:integer;
begin
st:='program, begin, procedure, var, div, array.';
k:=2;
pk(st,k);
end.
1.
function kw(s:string; c:char):integer;
var sl:string; n,k,i:integer;
begin
n:=0; k:=0;
s:=s+'.';
for i:=1 to length(s) do
if s[i] in [' ',',',';','.']
then begin if kgt;0 then inc(n); k:=0; end
else if s[i]=c then inc(k);
kw:=n;
end;
var st:string; c:char;
begin
st:='program, begin, procedure, var, div, array.';
c:='r';
writeln('m=',kw(st,c));
end.
2. Здесь анализируются только строчные английские буковкы. При желании можно добавить большие англ. и российские. Всё будет аналогично.
procedure pk(s:string;k:integer);
var a:array['a'..'z'] of integer; i:integer; c:char;
begin
for c:='a' to 'z' do a[c]:=0;
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then inc(a[s[i]]);
for c:='a' to 'z' do if a[c]lt;k then writeln(c,' - ',a[c])
end;
var st:string; k:integer;
begin
st:='program, begin, procedure, var, div, array.';
k:=2;
pk(st,k);
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов