Мне нужен совет по заданию, которое просит написать функцию, чтобы найти четную цифру с наибольшим/наименьшим вхождением.Поиск наибольшего появления цифры в массиве целых чисел
Мой вывод должен выглядеть следующим образом:
How many integers (to be worked on) ? 2
Enter integer #1: 1230476
Enter integer #2: 10034850
Occurrence of all existing digits --
Digit 0 : 4
Digit 1 : 2
Digit 2 : 1
Digit 3 : 2
Digit 4 : 2
Digit 5 : 1
Digit 6 : 1
Digit 7 : 1
Digit 8 : 1
Digit 9 : 0
Occurence of all existing EVEN digits --
Digit 0 : 4
Digit 2 : 1
Digit 4 : 2
Digit 6 : 1
Digit 8 : 1
Четные цифры (ы), который имеет/имеют наибольшее вхождение - 0
И число возникновения (ы): 4
Четная цифра (-ы), которая имеет/имеет наименьшее количество случаев - И количество вхождений: 1
Это мой код до сих пор ... Я не могу показаться, чтобы получить последнюю часть нахождения наибольшего/наименьшего появление ..
Это мой код до сих пор: недействительным displayDigitInfoUpdateStanDeng() {
int intsWorkedOn;
int* intValue;
int allDigitCount[10] = {0};
int largestOccurEven;
int smallestOccurEven;
int curDigit;
cout << "\n Calling on displayDigitInfoUpdateStanDeng() --"
<< "\n How many integers (to be worked on) ? ";
cin >> intsWorkedOn;
intValue = new int[intsWorkedOn];
for (int i = 0; i < intsWorkedOn; i++) {
cout << " Enter integer #" << i + 1 << ": ";
cin >> *(intValue + i);
}
for (int i = 0; i < intsWorkedOn; i++) {
do {
allDigitCount[*(intValue + i) % 10]++;
*(intValue + i) /= 10;
} while (*(intValue + i));
}
cout << "\n Occurence of all existing digits --";
for (int i = 0; i < 10; i++) {
cout << "\n Digit " << i << " : " << allDigitCount[i];
}
cout << "\n Occurence of all existing EVEN digits --";
for (int i = 0; i < 9; i++) {
cout << "\n Digit " << i - 1 << " : " << allDigitCount[i++];
}
cout << "\n The even digit(s) that has/have the largest occurrence -";
for (int i = 0; i < 9; i++) {
largestOccurEven = allDigitCount[i++] % 10;
curDigit = allDigitCount[i++];
if (curDigit < largestOccurEven) {
cout << "\n " << i
<< "\n And the number of occurrence(s) : " << largestOccurEven;
} else {
cout << endl;
}
}
Это мой текущий выход:
Сколько целых чисел (над которыми нужно работать)? 2 Введите число # 1: 1230476 Введите число # 2: 10034850
Occurrence of all existing digits --
Digit 0 : 4
Digit 1 : 2
Digit 2 : 1
Digit 3 : 2
Digit 4 : 2
Digit 5 : 1
Digit 6 : 1
Digit 7 : 1
Digit 8 : 1
Digit 9 : 0
Occurence of all existing EVEN digits --
Digit 0 : 4
Digit 2 : 1
Digit 4 : 2
Digit 6 : 1
Digit 8 : 1
Четные цифры (ы), который имеет/имеют наибольшее появление - 2
И число возникновения (ы): 4
Четные цифры, имеющие/имеют наименьшее количество случаев - ? И количество находок (их): 0
Я так смущен ... Почему он отображает i как 2 для наибольшего появления? Мне действительно нужна помощь!
Ах да, это имеет смысл. Но теперь я не уверен, что делать с моим утверждением if. Мне нужно, чтобы он выводил только самые большие, но теперь значения curDigit и mostOccurEven одинаковы ... Не могли бы вы дать мне еще один намек? – user2809589
Nevermind! Я изменил на оператор if: if (mostOccurEven> intsWorkedOn). Огромное спасибо!! – user2809589