Составьте программу, вычеркивающую из слова х буквы, встречающиеся при написании слова х ровно три раза. (паскаль)

ЧерриБерри ЧерриБерри    3   28.08.2019 06:00    2

Ответы
djsxv djsxv  06.10.2020 00:05
Var s:string; c:char; i,j,k:integer;
begin
write('Слово: ');
readln(s);
writeln(s);
i:=1;
while i<length(s)-1 do
 begin
 k:=0; c:=s[i];
 for j:=1 to length(s) do
  if c=s[j] then k:=k+1;
 if k=3 then 
  begin
  while pos(c,s)>0 do delete(s,pos(c,s),1);
  i:=i-1;
  end;
 i:=i+1;
 end;
writeln(s);
end.

Пример:
Слово: pnbouipobnpongnf
pnbouipobnpongnf
nbuibnngnf
ПОКАЗАТЬ ОТВЕТЫ
megamozg42 megamozg42  06.10.2020 00:05
// Паскаль
// Программа поддерживает латиницу, кириллицу и дефисы

const
  // Первая буквы, англ. "a" - 65, но может быть дефис #45
  first_letter = #45;
  // Последняя буквы, рус. "я"
  last_letter = #1103;

var
  x: string;
  i: integer;
  c: char;
  // Сколько раз встречает буква в слове
  count: array[first_letter..last_letter] of integer;
begin
  readln(x);
  // Обнуляем массив
  for c := first_letter to last_letter do
    count[c] := 0;
  // Подсчитываем буквы в слове
  for i := 1 to length(x) do
    inc(count[x[i]]);
  // Выводим слово без букв, встречающихся 3 раза
  for i := 1 to length(x) do
    if count[x[i]] <> 3 then
      write(x[i])
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика