Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 1
1

Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово

27.03.2015, 17:36. Просмотров 1790. Ответов 1
Метки нет (Все метки)


Дан текст, состоящий из слов, содержащих только строчные русские буквы; между соседними словами – запятая, после последнего слова – точка.
Напечатать в алфавитном порядке:все гласные буквы, которые входят в каждое слово.
Нужно выполнить в среде Delphy/
Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2015, 17:36
Ответы с готовыми решениями:

Напечатать в алфавитном порядке все гласные буквы, которые не входят ни в одно слово
Дана последовательность слов из строчных русских букв; между соседними словами – запятая, за...

Напечатать в алфавитном порядке все гласные буквы, которые входят в последнее слово
помогите написать код,текст задан строкой, напечатать в алфавитном порядке Все гласные буквы,...

Напечатать в алфавитном порядке все гласные буквы, которые входят только в одно слово
1) Дана последовательность слов из строчных русских букв; между соседними словами – запятая, за...

Напечатать в алфавитном порядке все гласные буквы, которые входят только в одно слово.
Пусть дана непустая последовательность слов из строчных русских букв. Между соседними словами...

1
13062 / 5848 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
27.03.2015, 18:47 2
Лучший ответ Сообщение было отмечено vilunt как решение

Решение

Решение в виде консольного приложения. Буквы могут быть русскими и английскими в любом регистре. Перечень разделителей слов задаётся через множество D.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, Windows;
 
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
  //Множество гласных букв.
  Da = [
    //Русские гласные буквы.
    'А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я',
    //Английские гласные буквы.
    'A', 'E', 'I', 'O', 'U', 'Y' ];
var
  S : String;
  Dw, Dra : set of Char;
  Ch : Char;
  i, Len : Integer;
  F : Boolean;
begin
  {Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  Если после переключения русские буквы показываются неверно,
  следует открыть системное меню консольного окна - щелчком мыши в левом
  верхнем углу окна консоли и выбрать:
  Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".}
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  repeat
    Writeln('------------------------------');
    Writeln('Задайте текст:');
    Readln(S);
 
    //Решение.
    S := AnsiUpperCase(S); //Приводим буквы строки к верхнему регистру.
    Len := Length(S); //Длина строки.
    Dw := [];  //Множество букв, которые входят в текущее слово.
    Dra := []; //Множество гласных букв, которые входят в каждое слово.
    F := True; //True - найдено первое слово, иначе - False.
    for i := 1 to Len do
      if not (S[i] in D) then //Если символ не является разделителем, значит он принадлежит слову.
      begin
        Dw := Dw + [S[i]]; //Добавляем букву во множество букв текущего слова.
        if (i = Len) or (S[i + 1] in D) then //Отслеживаем конец слова.
        begin
          if F then //Если текущее слово является первым словом в тексте.
          begin
            Dra := Dw * Da; //Все гласные буквы текущего слова.
            F := False;
          end
          else //Если текущее слово не первое в тексте (второе, третье и т. д.)
            Dra := Dw * Da * Dra; //Гласные буквы текущего слова, которые входят в каждое из предыдущих слов.
          if Dra = [] then //Если искомое множество уже пусто, то прерываем обработку.
            Break;
          Dw := []; //Обнуление множества букв текущего слова.
        end;
      end;
 
    //Ответ.
    if Dra = [] then
      Writeln('Нет ни одной гласной буквы, которая бы входила в каждое слово.')
    else
    begin
      Writeln('Множество гласных букв, которые входят в каждое слово:');
      for Ch := #0 to #255 do
        if Ch in Dra then
          Write(Ch, ' ');
      Writeln;
    end;
 
    Write('Повторить - Enter. Выход - любой символ + Enter. ');
    Readln(S);
  until S <> '';
end.
Проверка:
Код
------------------------------
Задайте текст:
аеёиоуыэюя аеёиоуыэ аеёиоу аеёи ае.
Множество гласных букв, которые входят в каждое слово:
А Е
Повторить - Enter. Выход - любой символ + Enter.
------------------------------
Задайте текст:
аеёиоуыэюя аеёиоуыэ аеёиоу еёи а.
Нет ни одной гласной буквы, которая бы входила в каждое слово.
Повторить - Enter. Выход - любой символ + Enter.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2015, 18:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Напечатать в алфавитном порядке все согласные буквы, которые не входят в каждое слово
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая,...

Напечатать в алфавитном порядке все гласные буквы, которые входят более чем в одно слово
Очень прошу, люди добрые! Желательно с формами. Дана непустая последовательность слов из строчных...

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

Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово
Помогите решить задачу через множество(set of). Заранее спасибо. Дана непустая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.