Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить, есть ли в массиве число, равное X. Подсчитать количество сравнений.
Пример:
Массив:
1 4 7 3 9 2 4 5 2
После сортировки:
1 2 2 3 4 4 5 7 9
Введите число X:
2
Число 2 найдено.
Количество сравнений: 2
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
vector<vector<int> > t(m, vector<int> (n));
for (int i = 0; i < m; ++i){
for (int j = 0; j < n; ++j){
t[i][j] = i * n + j;
}
}
for (int i = 0; i < n; ++i){
for (int j = 0; j < m; ++j){
cout << t[j][i] << " ";
}
cout << endl;
}
return 0;
}
Объяснение:
просто нужно заполнить массив . _.
1:
s = 'Это некоторое предложение'
a = ord('а')
chars = [rrchr(i) for i in range(a,a+34) if not rrchr(i) in s and i != a+32]
print(chars)
2:
parallel = [('имя1','имя2','имя3','имя4'),('имя1','имя2','имя5'),('имя2','имя4')]
names = ['имя1','имя2','имя3','имя4','имя5','имя6']
presence = []
for name in names:
counter = 0
for klass in parallel:
for person in klass:
if person == name:
counter += 1
break
presence.append((name,counter))
for name in presence:
print(name[0],'-',
'встречаются во всех классах данной параллели' if name[1] == len(parallel)
else 'есть только в некоторых классах' if name[1] != 0
else 'не встречаются ни в одном классе')