Краткое пояснение: Для определения имени файла, соответствующего маске, необходимо проанализировать символы-заполнители: '?' (один любой символ) и '*' (ноль или более любых символов).
Пошаговое решение:
- Анализ маски: `?hel*lo.c?*`
- `?` в начале: означает, что имя файла должно начинаться с одного любого символа.
- `hel`: следующие три символа должны быть 'h', 'e', 'l'.
- `*`: после 'hel' может идти любое количество (включая ноль) любых символов.
- `lo.c`: далее должны идти символы 'l', 'o', '.', 'c'.
- `?` перед концом: означает, что перед расширением (или его частью) должен стоять один любой символ.
- `*` в конце: означает, что после '.c' (или после символа перед ним) может идти любое количество (включая ноль) любых символов.
- Проверка вариантов:
- a) hello.c: Не соответствует. Начинается с 'h', а маска требует один любой символ перед 'hel'.
- б) hello.cpp: Не соответствует. Аналогично варианту 'a', не подходит начало.
- в) hhelolo.cpp: Не подходит. Начинается с 'h', а маска требует один любой символ перед 'hel'.
- г) hhelolo.c: Соответствует.
- 'h' — первый символ (заменяет '?').
- 'hel' — далее идут 'hel'.
- 'olo' — заменяет '*'.
- 'lo.c' — далее идут 'lo.c'.
- В данном случае, последний '?' и '*' не имеют символов после '.c', что допустимо, так как '*' означает ноль или более символов.
Ответ: г) hhelolo.c