Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помощь с задачей на множества 
:(
    Опции темы
impario
  Дата 15.6.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.12.2008

Репутация: нет
Всего: нет



Доброго вам дня господа программисты!
Дан текст на русском языке. Напечатать в алфавитном порядке
все гласные буквы, которые входят в каждое слово.
Помогите кто может!!!Заранее спасибо.
PM MAIL   Вверх
volvo877
Дата 15.6.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



1) описываешь множество, хранящее ВСЕ гласные, оно будет для тебя "рабочим" (work_set)...
2) выделяешь очередное слово, составляешь для него множество гласных, в него входящих (curr_set), и делаешь так: work_set := work_set * curr_set;Когда это будет сделано со всеми словами - во множестве work_set останутся только те гласные, которые присутствуют в КАЖДОМ слове, все остальные исчезнут.
3) повторять до тех пор, пока в строке не закончатся слова...
4) ну, а как печатать множество - об этом уже говорили сотню раз: поэлементно, проверяя, присутствует символ в множестве или нет. Будешь перебирать все буквы от 'a' до 'я' - содержимое множества напечатается в алфавитном порядке...

Подробнее - в поиске, похожие задачи уже решались...
PM MAIL   Вверх
impario
Дата 15.6.2009, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.12.2008

Репутация: нет
Всего: нет



ВОТ я что то написал помогите пожалуйста переделайте.
Вот она:
Код
program aihf;
type mmm=set of char;
var s1:string; h:set of char;
procedure rasbuk(s:string);
var i:integer;j,t:char;n:integer; ss, dd:mmm;
  begin
      ss:=[];
       dd:=[];
       for i:=1 to length(s) do
        while s[i] = '.' do
          begin
           while s[i] = ' ' do
           if s[i] in h then ss:=ss+[s[i]];
           dd:=dd-ss;
          end;
           for j:='a' to 'z' do
            begin
              n:=0;
              for i:=1 to length(s) do
               if j=s[i] then n:=n+1;
                if n>=2 then writeln(j);
             end;

             for i := 1 to length(s) do
              begin
               exclude(dd, s[i]); { <--- cons_set это множество из согласных букв }
                end;
               writeln('GlacchbIe');
                for t:='a' to 'z' do
                 if t in dd then write(t);
                end;
                  begin
                    writeln('vvedite tekst');
                    readln(s1);
                     h:=['a'..'z'];
                     rasbuk(s1);
                     readln;
                  end.




PM MAIL   Вверх
impario
  Дата 15.6.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 27.12.2008

Репутация: нет
Всего: нет



ВОТ ету посмотрите её просто нуно малость переделать здесь находит буквы (гласные) которые не содержатся в предложении:
Код
uses crt;
var s,s1,s2:string;
    i,j,k,m:integer;
    t:boolean;
begin
     clrscr;
     writeln('vvedite predlo}|{enie');
     read(s);
     clrscr;
     writeln(s);
     s1:='aeiouyAEIOUY';
     for k:=1 to 6 do
     begin
          m:=0;
          i:=0;
          while i<length(s) do
          begin
               j:=i+1;
               t:=false;
               while (s[j]<>' ') and (j<length(s)) do
               begin
               if (s[j]=s1[k]) or (s[j]=s1[k+6]) then t:=true;
               j:=j+1;
               end;
               if j=length(s) then i:=j
               else i:=j+1;
               if t=true then m:=m+1;
          end;
          if m=0 then writeln('bykvi ',s1[k],' nety');
          if m=1 then
          begin
               writeln('bykva ',s1[k],' ydovletvoriat ysloviy');
               s2:=s2+s1[k];
          end;
          if  m>1 then writeln ('bykva ',s1[k],' ne ydovletvoriat ysloviy');
     end;
     writeln('Sledyushie bykvi presytstvyut v predlo}|{enii ne bolee chem v 1 slove');
     writeln(s2);
     writeln('na}|{mite Enter');
     readln;
     readln;
end.

PM MAIL   Вверх
ФедосеевПавел
Дата 15.6.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: 2
Всего: 10



М-дя...
Как-то неуёмные математики подсчитали, что если дать мартышке печатную машинку и запереть в комнате, то с вероятностью 1/1 000 000 мартышка напечатает "Войну и мир".
Текста в нужной программе по-меньше будет, так что через неделку-другую методом перебора результат будет. Главное не останавливайся и соблюдай синтаксис языка.

Хотя можно и по-быстрее - ещё раз прочитать словесное описание алгоритма 
volvo877.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0767 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.