Показать сообщение отдельно
Старый 31.10.2009, 22:57   #159 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
Post

Вот решение задачи:

uses crt;
var s,s2:string; {исходная строка,строка повторяющихся символов}
sym1:set of char; {множество символов, встретившихся первый раз}
n:byte; {длина строки}
i:integer; {переменная, управляющая циклом}
begin
clrscr;
{ввод}
writeln ('Введи строку с точкой в конце: ');
readln (s);
n:=length(s);
if s[n]<>'.' then begin {проверка наличия точки в конце строки}
s:=s + '.';
n:=n+1;
end;
{Обработка, фрагмент вывода}
writeln ('Символы, встречающиеся в строке хотя бы один раз: ');
for i:=1 to n do begin
if (s[i] in sym1)=false then begin
sym1:=sym1+[s[i]];
write (s[i], ' ');
end
else
s2:=s2+s[i]+' ';
end;
{Вывод}
writeln;
writeln ('Символы, встречающиеся в строке более одного раза: ');
writeln (s2);
readkey;
end.
MrSTEP вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070