Найдите первую и последнюю букву К в предложенном тексте и символы между ними замените...

0 голосов
80 просмотров

Найдите первую и последнюю букву К в предложенном тексте и символы между ними замените звездочками.

Информатика (14 баллов) | 80 просмотров
Дан 1 ответ
0 голосов

Var
s:string;
a,e,n,i:Integer;
begin
write('Введите строку - ');
readln(s);
a:=length(s);
for i:=1 to a do
 begin
  if (s[i]='К') or (s[i]='к') then
  begin
  if e=0 then e:=i
  else n:=i;
  end;
 end;
for i:=1 to a do
 begin
  if (in) or (i=e) or (i=n) then
  write(s[i])
  else write('*');
 end;
end.

(294 баллов)
0

Да, но сначала надо эти буквы "К" найти, например ПОКРЫШКА  --> ПОК* * * КА

0

А извини сейчас я просто задание не понял

0

ДА я сделал это

0

var
s:string;
a,e,n,i:Integer;
begin
write('Введите строку - ');
readln(s);
a:=length(s);
for i:=1 to a do
 begin
  if s[i]='К' then
  begin
  if e=0 then e:=i
  else n:=i;
  end;
 end;
writeln(n);
for i:=1 to a do
 begin
  if (in) or (i=e) or (i=n) then
  write(s[i])
  else write('*');
 end;
end.

0

16 строчку команду writeln(n); удали чтобы цифра не появлялась

0

Вот так лучше а то старый код с маленькой "к" не работал

0

var
s:string;
a,e,n,i:Integer;
begin
write('Введите строку - ');
readln(s);
a:=length(s);
for i:=1 to a do
 begin
  if (s[i]='К') or (s[i]='к') then
  begin
  if e=0 then e:=i
  else n:=i;
  end;
 end;
for i:=1 to a do
 begin
  if (in) or (i=e) or (i=n) then
  write(s[i])
  else write('*');
 end;
end.