Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Множества. Помогите доделать программу (http://www.tehnari.ru/f41/t75578/)

tix0n 30.06.2012 16:10

Множества. Помогите доделать программу
 
Дана строка. В алфавитном порядке напечатать(по разу) все малые латинские буквы, входящие в эту строку ровно один раз.
помогите доделать
Код:

Program jghfh;
uses crt;
type x='a'..'z';
var mn1,mn2:set of x;
s: string;
c:char;
i:integer;
begin
clrscr;
writeln();
readln(s);
if s[length(s)]<>'.' then s:=s+'.';
i:=1;mn1:=[];mn2:=[];
while s[i] <> '.' do
begin
If s[i] in mn1 then mn2:=mn2+[s[i]];
mn2:= mn2 +[s[i] ];
i:=i+1;
end;
for c:='a' to 'z' do
if c in mn2 then  write(c);
readln;
end


Vladimir_S 30.06.2012 17:48

Цитата:

Сообщение от tix0n (Сообщение 757042)
помогите доделать

Попробую. Мне кажется, у Вас много лишнего накручено. Предлагаю такой вариант:
Код:

uses crt;
const
 mn0=['a'..'z'];
var
 mn1:set of char;
 s: string;
 c:char;
 i:integer;
begin
 clrscr;
 writeln('Enter the string:');
 readln(s);
 mn1:=[];
 for i:=1 to length(s) do
  if (s[i] in mn0) and Not(s[i] in mn1) then mn1:=mn1+[s[i]];
 for c:='a' to 'z' do
  if c in mn1 then write(c,' ');
 readln;
end.



Часовой пояс GMT +4, время: 02:02.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.