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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2010, 16:29   #1
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию Определить количество слов, в которых более трех гласных букв.

Здравствуйте.
Помогите решить данную задачку.

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

При решениии использовать множества.

З.Ы. Ввод осуществляется в Edit1.
fuzo вне форума Ответить с цитированием
Старый 28.09.2010, 16:37   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

А в чем проблема? Определяешь множество гласных, ищешь позицию пробела в строке, копируешь от начала до пробела в другую строку, затем проверяешь каждую букву новой строки на принадлежность к множеству. И ставишь в цикле обработки слова счетчик. Если счетчик перевалил за 3 - тогда слово удовлетворяет условию. И так до конца строки
danekne вне форума Ответить с цитированием
Старый 28.09.2010, 16:50   #3
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию

А можно кодом а не словами?
fuzo вне форума Ответить с цитированием
Старый 28.09.2010, 16:55   #4
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Какая конкретно часть кода вызывает затруднения? Если вся - то это freelance. Если нет - то укажите какая из обозначенных мной
danekne вне форума Ответить с цитированием
Старый 28.09.2010, 17:28   #5
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Код:
const
  // множество гласных букв
  GlasnieSymb = ['а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я',
                 'А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я'];

var
  s: string;
  i, kolvo, glasnie: Integer;
begin
  s := Edit1.Text;
  glasnie := 0;
  kolvo := 0;
  for i:=1 to Length(s) do
  begin
    if s[i] in GlasnieSymb then inc(glasnie);
    if (s[i]=' ') or (i=Length(s)) then
    begin
      if glasnie > 3 then inc(kolvo);
      glasnie := 0;
    end;
  end;

  if kolvo > 0 then
    s:='Кол-во слов, в которых более 3 гласных: ' + IntToStr(kolvo)
  else
    s:='Слов, в которых более 3 гласных нет';

  ShowMessage(s);
end;
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 28.09.2010, 17:39   #6
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию

Благодарствую
fuzo вне форума Ответить с цитированием
Старый 28.09.2010, 17:47   #7
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию

Также множество можно записать более простым способом способом:

Код:
var
  m1:set of char;
begin
  m1:=['а'..'я']+['А'..'Я'];
...

Последний раз редактировалось fuzo; 28.09.2010 в 17:51.
fuzo вне форума Ответить с цитированием
Старый 28.09.2010, 17:55   #8
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от fuzo Посмотреть сообщение
Также множество можно записать более простым способом способом:

Код:
var
  m1:set of char;
begin
  m1:=['а'..'я']+['А'..'Я'];
...
Только в это множество у вас входят и согласные. И не входят 'ё' и 'Ё'
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 28.09.2010, 18:01   #9
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию

Действительно. Немного не то
fuzo вне форума Ответить с цитированием
Старый 28.09.2010, 18:01   #10
fuzo
Пользователь
 
Регистрация: 16.09.2010
Сообщений: 40
По умолчанию

Действительно. Немного не то
fuzo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
количество слов, первая и последняя буква которых совпадают gred Помощь студентам 4 13.11.2014 13:56
Определить количество букв bratello41 Паскаль, Turbo Pascal, PascalABC.NET 3 23.06.2010 15:23
определить количество букв в предложении bratello41 Паскаль, Turbo Pascal, PascalABC.NET 1 12.06.2010 09:31
Дана прямоугольная матрица. Определить количество столбцов, произведение элементов которых меньше 5 Sweeney Паскаль, Turbo Pascal, PascalABC.NET 0 10.12.2008 01:41
посчет в тексте кол-во слов, гласных и согласных букв DiabloRVK Помощь студентам 4 01.12.2008 14:23