Помощь - Поиск - Пользователи - Календарь
Полная версия: задача на поиск букв, встречающихся один раз
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Shumaher
ЛЮДИ! ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ:

Задан текст из латинских букв. Вывести в алфавитном порядке все буквы, которые встречаются в тексте только один раз.

Заранее спасибо!
volvo
const
len = 26;
var
i, p: integer;
ch: char;
s: string;

begin
s := 'which letters will be here?';
for i := 0 to pred(len) do begin

ch := chr(ord('a') + i);
p := pos(ch, s);
if p <> 0 then begin
p := p * pos(ch, copy(s, p + 1, length(s)));
if p = 0 then write(ch);
end;

end;
writeln;
end.


rolleyes.gif

Shumaher, попробуй объяснить, КАК эта программа работает...
Гость
Цитата(volvo @ 26.10.2006 17:11) *

Shumaher, попробуй объяснить, КАК эта программа работает...

var s,r:string;
i,j:integer;
begin
s := 'which letters will be here?';
for i:=1 to length(s) do
if (pos (s[i],copy(s,1,i-1))=0) and
(pos (s[i],copy(s,i+1,255))=0) and
(s[i] in ['a'..'z']) then begin
j:=1; while byte(r[j])<byte(s[i]) do inc(j);
r:=copy(r,1,j-1)+s[i]+copy(r,j,255);
end;
writeln( r );
end.

Вот так, имхо, еще веселее объяснять smile.gif
Malice
Я это был, забыл войти smile.gif
Shumaher
Огромное спасибо за решение!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.