Для начала поясню что значат * и ? в маске. *-это последовательность символов, то есть любое количество символов. От 0 до бесконечности. Нам не важно что это за символы важен сам факт их существования или не существования. ?-это только один символ. Опять же, не важно какой, главное, чтобы он был там. Первая маска: A?B*.*C?*. Её можно интерпретировать как A[любой символ]B[последовательность символов или ничего]. [последовательность символов или ничего]C[любой символ] [последовательность символов или ничего]. Под такие условия подходят 5 файлов, которые переходят в каталог friends: ABBCBD.CDDBA ACBDC.ACBA AABBCCDD.DDCCD ACBCACD.AABBCCDD ADBCCAD.CADABC Почему не подходят остальные? ABDCC.ACBDA – нет символа в начале между A и B. BABCDA.ABCD - нет символа A в начале. AABACADA?CDBDADCB – нет точки. Следующая маска: *B?C*.??*D*. На человеческий: [любой символ] B] [последовательность символов или ничего]C[любой символ]. [любой символ] [любой символ] [последовательность символов или ничего]D [последовательность символов или ничего] Результат – 3 файла в папке family : ABBCBD.CDDBA AABBCCDD.DDCCD ADBCCAD.CADABC Остальные: ACBCACD.AABBCCDD – после единственной B сразу идёт C; ACBDC.ACBA – после точки нет D. ответ: ABBCBD.CDDBA AABBCCDD.DDCCD ADBCCAD.CADABC
Первая маска: A?B*.*C?*. Её можно интерпретировать как A[любой символ]B[последовательность символов или ничего]. [последовательность символов или ничего]C[любой символ] [последовательность символов или ничего].
Под такие условия подходят 5 файлов, которые переходят в каталог friends:
ABBCBD.CDDBA
ACBDC.ACBA
AABBCCDD.DDCCD
ACBCACD.AABBCCDD
ADBCCAD.CADABC
Почему не подходят остальные? ABDCC.ACBDA – нет символа в начале между A и B. BABCDA.ABCD - нет символа A в начале. AABACADA?CDBDADCB – нет точки.
Следующая маска: *B?C*.??*D*. На человеческий: [любой символ] B] [последовательность символов или ничего]C[любой символ]. [любой символ] [любой символ] [последовательность символов или ничего]D [последовательность символов или ничего]
Результат – 3 файла в папке family :
ABBCBD.CDDBA
AABBCCDD.DDCCD
ADBCCAD.CADABC
Остальные: ACBCACD.AABBCCDD – после единственной B сразу идёт C; ACBDC.ACBA – после точки нет D.
ответ:
ABBCBD.CDDBA
AABBCCDD.DDCCD
ADBCCAD.CADABC
#include <cstdlib>
#include <ctime>
int main()
{
using namespace std;
const int n = 10; //количество элементов массива
int Arr[n];
//как-нибудь заполняем массив
srand(time(0));
int i;
for (i = 0; i < n; ++i)
Arr[i] = rand() % (n * n) + 1;
//выведем его на экран
for (i = 0; i < n; ++i)
cout << Arr[i] << " ";
cout << endl;
int p;
for (i = 1; i < n; ++i)
{
p = i;
while (p % 2 == 0)
p /= 2;
if (p == 1)
cout << "Arr[" << i << "] = " << Arr[i] << endl;
}
cout << endl;
return 0;
}