Составьте программу, вычеркивающую из слова Х буквы, встречающиеся при написании слова Х ровно три раза. (паскаль)
Answers & Comments
A1dar
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.
// Паскаль // Программа поддерживает латиницу, кириллицу и дефисы
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.
Answers & Comments
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
Verified answer
// Паскаль// Программа поддерживает латиницу, кириллицу и дефисы
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.