В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
patafeev1734
patafeev1734
17.04.2021 11:40 •  Информатика

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

Ответ:
отличница446
отличница446
17.07.2020 18:33
Const
  gl = 'аеёиоуыэюя';

var
  s: string;
  f: array[1..10] of boolean;
  i, m: integer;

begin
  Write('Введите фразу: '); Readln(s);
  m := Pos(' ', s);
  if m = 0 then Writeln('В строке отсутствуют пробелы')
  else begin
    for i := 1 to 10 do f[i] := False;
    for i := m + 1 to length(s) do
      case s[i] of
        'А', 'а': f[1] := True;
        'Е', 'е': f[2] := True;
        'Ё', 'ё': f[3] := True;
        'И', 'и': f[4] := True;
        'О', 'о': f[5] := True;
        'У', 'у': f[6] := True;
        'Ы', 'ы': f[7] := True;
        'Э', 'э': f[8] := True;
        'Ю', 'ю': f[9] := True;
        'Я', 'я': f[10] := True
      end;
    Write('Найдены гласные: ');
    for i := 1 to 10 do
      if f[i] then Write(gl[i], ' ');
    Writeln
  end
end.

Тестовое решение:
Введите фразу: Это проверочная фраза "Мама мыла раму". Конец теста.
Найдены гласные: а е о у ы я

В Pascal.ABC можно написать и короче:
const
  gl = 'аеёиоуыэюя';

var
  s: string;
  f: array[1..10] of boolean;
  i, m, p: integer;

begin
  Write('Введите фразу: '); Readln(s);
  m := Pos(' ', s);
  if m = 0 then Writeln('В строке отсутствуют пробелы')
  else begin
    for i := 1 to 10 do f[i] := False;
    s := LowerCase(s); { перекодировать к нижнему регистру }
    for i := m + 1 to length(s) do
    begin
      p := Pos(s[i], gl);
      if p > 0 then f[p] := True
    end;
    Write('Найдены гласные: ');
    for i := 1 to 10 do
      if f[i] then Write(gl[i], ' ');
    Writeln
  end
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?