3) Задача «Количество совпадающих пар»
Условие
Дан массив чисел. Посчитайте, сколько в нем пар элементов, равных друг другу.
Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать. (с динамическими массивами, библиотека только iostream)
C/C++
Помогите решить задачу на C++
#include
using namespace std;
size_t count_pair(int* box, const size_t n) {
size_t count = 0;
for (size_t i = 0, j = 1; j < n; ++i, ++j) {
if (box[i] == box[j]) {
++count;
}
}
return count;
}
void input_array(int* box, const size_t n) {
cout > box[i];
}
}
size_t array_size() {
size_t value = 0;
while (!value) {
cout > value;
cin.ignore(0x1000, '\n');
}
return value;
}
int* create_array(const size_t n) {
return new(nothrow) int[n];
}
int* destroy_array(int* box) {
if (box != nullptr) {
delete[] box;
box = nullptr;
}
return box;
}
int main() {
const auto n = array_size();
auto box = create_array(n);
if (box != nullptr) {
input_array(box, n);
const auto count = count_pair(box, n);
cout
Не совсем понятен вопрос.
Если в массиве три одинаковых элемента,
образуют ли они пары?
например
01 2 3456 - это индексы
АBБГБДБ - это массив
пары:
2-4
2-6
4-6
Так ли это?
Если в массиве три одинаковых элемента,
образуют ли они пары?
например
01 2 3456 - это индексы
АBБГБДБ - это массив
пары:
2-4
2-6
4-6
Так ли это?
#include
#include
int main() {
int n;
std::cin >> n;
std::unordered_map counts;
for (int i = 0; i < n; i++) {
int x;
std::cin >> x;
counts[x]++;
}
int result = 0;
for (auto& [key, value] : counts) {
result += value * (value - 1) / 2;
}
std::cout
#include
int main() {
int n;
std::cout > n;
if (n
Хитрожопый
Да, за такой код из приличных мест увольняют.
Utkir Bozorov
< std::cout << "Введите элементы массива:" << std::endl; >
По условию задачи, массив чисел (каких?)
уже задан, и его не нужно вводить.
По условию задачи, массив чисел (каких?)
уже задан, и его не нужно вводить.
Похожие вопросы
- Помогите решить задачу по C++!
- Помогите решить задачу на C++
- Помогите решить задачу на C++.
- Помогите решить задачу на c++
- Помогите решить задачу на C++
- Помогите решить задачу на C++
- УМОЛЯЮ!!!!! Помогите решить задачу на C++
- Помогите решить задачу на C++
- Помогите решить задачу в C++
- Помогите решить задачу по программированию на C++
"Два рядом стоящих, равных друг другу элемента образуют одну пару" и
"Два любых, равных друг другу элемента образуют одну пару".
Мое не скромное мнение - берется два одинаковых элемента, образуют пару, откладваются в сторонку. Потом считаются число пар.
Ну и между ajacent и pair есть разница)