Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 10:06   #1
Eisebio
 
Регистрация: 11.03.2009
Сообщений: 2
По умолчанию Задача на множества

Код:
procedure TForm1.Button1Click(Sender: TObject);
Type setchar=set of char;
Const G: setchar = ['a'..'z'];
Var
res1,
res2,
res3,
mnsl:setchar;
st,slovo: string; ch: char;
i,k:integer; first: boolean;
procedure out_set(res:setchar;out:TListbox);
Const alf='qwertyuiopasdfghjklzxcvbnm';
Var i:integer;
Begin
  for i:=1 to length(alf) do
    if alf[i] in res then
      out.AddItem(alf[i],out)
end;

Begin
  listbox1.clear;

  st:=edit1.text;
  st:=st+' ';
  first:=true;
  while st<> '' do
  begin
    k:=pos(' ',st);
    slovo:=Copy(st,1,k-1);
    Delete(st,1,k);
    mnsl:=[];
    For i:=1 to k-1 do
      if slovo[i] in G then
      mnsl:=mnsl+[slovo[i]];
    if first then
    begin
      res1:=mnsl;
      res2:=mnsl;
      res3:=mnsl;
      first:=false;
    end
    else
    begin
      res1:=res1*mnsl;  
      res2:=res2+mnsl;  
    end
  end;
Задание на множества:Дан текст из строчных латинских букв,за которым следует точка.Вывести на экран дисплея все буквы,входящие в текст по одному разу.
Подскажите как множество задать,в котором будут именно буквы встречающиеся по одному разу.

Последний раз редактировалось Stilet; 26.03.2009 в 10:37.
Eisebio вне форума Ответить с цитированием
Старый 26.03.2009, 10:14   #2
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

ты просто не знаешь как сделать множество что ли?
От знаний ещё никто не умирал, но рисковать не стоит.

Последний раз редактировалось XuTpbIu; 26.03.2009 в 10:16.
XuTpbIu вне форума Ответить с цитированием
Старый 26.03.2009, 10:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я помоему выкладывал тут уже отсев индексами, ну вот :
Код:
  var a:array[ord('a')..ord('z')] of byte;
  s:string;i:integer;
begin
 s:='fsdnqpcfdfsdfsdfdsf';
 for i:=1 to length(s) do
  inc(a[ord(s[i])]);
 for i:=ord('a') to ord('z') do
  if a[i]=1 then
    write(chr(i));
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача Пакаль (множества) Siroga35 Помощь студентам 4 18.03.2009 12:07
Задача на вектора (тема Множества) DELPHI 08ekhiv1 Помощь студентам 1 13.03.2009 20:00
Задача на множества innaa639 Помощь студентам 2 09.02.2009 10:32
Паскаль. задача на множества Isuzu_Rin Помощь студентам 1 24.12.2008 10:01
Задача на множества Mastak Паскаль, Turbo Pascal, PascalABC.NET 2 11.12.2007 18:04