C/C++

Как проверить одинаковые числа в массиве без повторений на С++

Как можно проверить одинаковые числа в массиве без повторений? То есть компьютер загадал число, нам нужно угадать, и в процессе отгадывания узнать сколько уже угадали чисел. Всегда получается с повторениям (то есть число например 123, мы введем 122, программа обычной проверкой посчитает что угадано 3 числа, хотя угадали только 1 и 2)
разбираешь каждую цифру с помощью остатка от деления %
Шакизатхан Искаков
Шакизатхан Искаков
346
Лучший ответ
Александр Морев числа в массиве, то есть число 123 в массиве из трех элементов, наше так же, или можно по другому?
#include <iostream>
#include <string>
#include <random>
#include <cmath>
using namespace std;
int main() {
system("chcp 1251 > nul");
auto length = 0U;
do {
cout << "Количество знаков в числе: ";
cin >> length;
} while (length > 19U || !length);
auto a = 1 * static_cast<unsigned long long>(pow(10ULL, length - 1));
auto b = a * 10 - 1;
uniform_int_distribution<unsigned long long> uid(a, b);
mt19937_64 gen{ random_device()() };
auto number = uid(gen);
auto str = to_string(number);
auto count = 0U;
auto attempt = 0ULL;
string src;
do {
do {
cout << "Ваше число: ";
cin >> attempt;
} while (length != static_cast<unsigned>(log10(attempt)) + 1);
++count;
src = to_string(attempt);
auto n = 0U;
for (auto i = 0U; i < length; ++i) if (src[i] == str[i]) ++n;
cout << "Количество совпадений: " << n << '\n';
} while (src != str);
cout << "Игра окончена. Количество попыток: " << count << '\n';
system("pause > nul");
}
<сколько уже угадали чисел>
может быть вернее угаданных цифр?
Александр Кузнецов Основная задача сводится к подсчету количества
одинковых цифр в двух числах.
Её решает функция Count
в ссылке ниже.

https://pastebin.com/hgS2F0dX
Обратную проверку делай. Цикл от 0 до 9 - проверка всех цифр в числе - если цифра есть в числе - +1 к угаданному количеству, если нет - 0.
Александр Морев числа в массиве, то есть число 123 в массиве 1,2,3 из трех элементов, наше так же
Владимир Сырчин Тогда ваш вопрос задан таким образом, что ни один компьютерщик не поймет. Ну разве что он женского пола.
Дайте пример получше - несколько чисел в массиве, какое число искомое, почему у вас 122 = 123 ?

Похожие вопросы