Давайте разберемся, какая маска подходит для выбора указанной группы файлов:
* `make.cpp`
* `name.c`
* `age.pc`
* `name.cpp`
Разберем каждую маску:
1. `*a?e.*`
* `*` означает ноль или более символов.
* `a` означает символ `a`.
* `?` означает ровно один любой символ.
* `e` означает символ `e`.
* `.*` означает ноль или более символов.
Эта маска может подойти, но давайте проверим остальные.
2. `a?e.*`
* `a` означает символ `a`.
* `?` означает ровно один любой символ.
* `e` означает символ `e`.
* `.*` означает ноль или более символов.
Эта маска требует, чтобы имя файла начиналось с `a`, что не соответствует `make.cpp`.
3. `*a*e.?`
* `*` означает ноль или более символов.
* `a` означает символ `a`.
* `*` означает ноль или более символов.
* `e` означает символ `e`.
* `.?` означает ровно один любой символ.
Эта маска подходит, если в имени файла есть `a` и `e`, и перед последним символом есть точка. Проверим файлы:
* `make.cpp` - не соответствует, так как `e` идет после двух символов после `a` и нет точки перед последним символом.
* `name.c` - соответствует.
* `age.pc` - соответствует.
* `name.cpp` - не соответствует, так как нет точки перед последним символом.
4. `?a?e.*`
* `?` означает ровно один любой символ.
* `a` означает символ `a`.
* `?` означает ровно один любой символ.
* `e` означает символ `e`.
* `.*` означает ноль или более символов.
Эта маска требует, чтобы второй символ был `a` и четвертый символ был `e`. Проверим файлы:
* `make.cpp` - не соответствует.
* `name.c` - соответствует.
* `age.pc` - не соответствует.
* `name.cpp` - не соответствует.
Маска `*a?e.*` подходит для всех файлов, так как она требует наличие `a` и `e` с одним любым символом между ними. Проверим:
* `make.cpp` - содержит `a` и `e`, и между ними `k`, подходит.
* `name.c` - содержит `a` и `e`, и между ними `m`, подходит.
* `age.pc` - содержит `a` и `e`, и между ними `g`, подходит.
* `name.cpp` - содержит `a` и `e`, и между ними `m`, подходит.
**Ответ:** `*a?e.*`