Помощь - Поиск - Пользователи - Календарь
Полная версия: Задание на множества
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Artem7
Задание на картинке не могу найти где ошибка, а ошибка в том что всё множество выводится а должно только те которые не входят(
Program glasnie;
Type mnoj=Set of char;
Var opt:Text;
    i:integer;
    s,s1:string;
    a:char;
    mn,mn1,mn2,mn3:mnoj;
Procedure SR(s:string;Var Rs:mnoj);
    Var i:byte;
    Begin
    Rs:=[];
    For i:=1 to Length(s) do
        Rs:=Rs+[S[i]];
    End;
Begin {Основня программа}
    mn:=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ',
    'Б','В','Г','Д','Ж','З','Й','К','Л','М','Н','П','Р','С','Т','Ф','Х','Ц','Ч','Ш','Щ'];
    Assign(opt,'q.txt');Reset(opt);
    mn2:=[];
    s1:='';
    While Not Eof(opt) do
    Begin
     Readln(opt,s);
     Sr(s,mn1);
     mn2:=mn2+(mn-mn1);
    End;
    For a:='а' to 'я' do
    If a in Mn2 then s1:=s1+a;
    For a:='А' to 'Я' do
    If a in Mn2 then s1:=s1+a;
    Writeln('Не входят: ',s1);
    Close(opt);
    readln;
End.
-Федосеев Павел-
Шось ты перемудрил smile.gif

  mn:=['б','в','г','д','ж','з','й','к','л'............
................
  While Not Eof(opt) do
  Begin
    Readln(opt,s);
    for i:=1 to Length(s) do mn:=mn-[S[i]]; {или Exclude(mn, S[i])}
  End;

Artem7
Цитата(-Федосеев Павел- @ 27.04.2012 14:30) *

Шось ты перемудрил smile.gif

  mn:=['б','в','г','д','ж','з','й','к','л'............
................
  While Not Eof(opt) do
  Begin
    Readln(opt,s);
    for i:=1 to Length(s) do mn:=mn-[S[i]]; {или Exclude(mn, S[i])}
  End;



Ого так всё просто)))Спасибо)))да я только сёня с этим типом данных познакомился)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.