По программированию на паскаль, нужна . дана строка состоящая из строчных букв алфавита. необходимо определить какие буквы встречаются в этой строке больше одного раза. формат входных файлов: входной файл содержит одну строку s длиной не более чем 100 символов, состоящую из букв a,b, выходной файл должен содержать в алфавитном порядке последовательность букв строки s, которые встречаются в ней больше одного раза. каждая буква выводится не больше одного раза.
s:string;
k:array['a'..'z']of integer;
i:integer; c:char;
begin
assign(t1,'input.txt');
reset(t1);
assign(t2,'output.txt');
rewrite(t2);
readln(t1,s);
for c:='a' to 'z' do k[c]:=0;
for i:=1 to length(s) do k[s[i]]:=k[s[i]]+1;
for c:='a' to 'z' do
if k[c]>1 then write(t2,c);
writeln(t2);
close(t1); close(t2);
end.
Пример:
Файл input.txt:
xyzabcdefgabcdx
Файл output.txt
abcdx
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadAllText('input.txt');
WriteAllText('output.txt',s.GroupBy(c->c).Select(t->(t.Key,t.Count))
.Where(t->t[1]>1).Select(t->t[0]).OrderBy(t->t).JoinIntoString(''))
end.
Пример
Во входном файле input.txt записана строка
В выходном файле output.txt будет получена строка
befiknopqrsuvwy