Я работаю над программой, которая проходит через вектор последовательных чисел и идентифицирует числа, которые имеют повторяющиеся цифры. Вывод должен удалить эти «недопустимые» числа с повторяющимися цифрами и вывести количество оставшихся «действительных» чисел без повторяющихся цифр в пределах диапазона a и b, который определяет вектор.
Моя переменная count отслеживает, как многие числа в векторе имеют повторяющиеся цифры. например, между числами 8 и 12 должен быть 1 недопустимый номер (равный 11). моя переменная count выводит 0 почти для всего. (мои используемые функции находятся в отдельном файле).
#include <iostream>
#include <vector>
#include "functions.h"
int main() {
//variables
int a, b, i, count = 0; // a & b inputs, i for iterating
int x = 0; //variable for digit occurrence count
//entering number range
std::cout << "Enter numbers 0 < a <= b <= 10000: " << std::endl;
std::cin >> a;
std::cin >> b;
//making a vector to contain numbers between a and b
std::vector<int> listofnums((b-a)+1);
int initialvalue = a;
while (i <= (b-a)) {
listofnums[i] = initialvalue;
//call the has repeating digits function
has_repeating_digits(listofnums[i]);
if (has_repeating_digits(listofnums[i]) == true) { //counting nums w repeat digits
count++;
}
//call the count digit occurrences function
count_digit_occurrences(listofnums[i], x);
initialvalue++;
i++;
}
//Call the valid range function
range_is_valid(a, b);
if (range_is_valid(a, b)) {
std::cout << "The range is invalid" << std::endl;
}
//call the count valid numbers function
std::cout << count ;
std::cout << "There are " << count_valid_numbers(a, b, count);
std::cout << " valid numbers between " << a << " and " << b << std::endl;
return 0;
}