
На языке C++ с помощь вложенного цикла помогите решить задание:Определить, в каком числе содержится
наибольшее количество четных цифр. Если таких чисел несколько, то вывести на экран первое по порядку. Найти два наименьших числа последовательности.

Ответы на вопрос

В этой программе ищется число с наибольшим количеством четных цифр и если таких чисел несколько, то выводится на экран первое по порядку, насчет второго задания (Найти два наименьших числа последовательности), там несколько непонятных вопросов, поэтому я не знаю как его правильно сделать.
Код программы:
#include <iostream>
using namespace std;
int main()
{
int *mas, n, a, b, max = 0, temp = 0, index;
cout<<"Введите количество элементов в массиве"<<endl;
cin >> n;
mas = new int(n);
cout<<"Введите массив:"<<endl;
for (int i = 0; i < n; i++)
cin >> mas[i];
cout<<"\nВаш массив:"<<endl;
for (int i = 0; i < n; i++)
cout<<mas[i]<<' ';
for (int i = 0; i < n; i++){
b = mas[i];
while(b){
a = b % 10;
if (a % 2 == 0)
++temp;
b = b / 10;
}
if (temp > max){
index = i;
max = temp;
}
temp = 0;
}
if (max)
cout<<"\n\nЧисло с наибольшим количеством четных цифр: "<<mas[index]<<endl;
else
cout<<"\n\nЧисел с четными цифрами не найдено"<<endl;
delete[] mas;
return 0;
}



Конечно, я помогу вам с этой задачей. Вот код на C++, который решает данную задачу:
cpp#include <iostream>
#include <vector>
// Функция для подсчета количества четных цифр в числе
int countEvenDigits(int num) {
int count = 0;
while (num > 0) {
int digit = num % 10;
if (digit % 2 == 0) {
count++;
}
num /= 10;
}
return count;
}
int main() {
int n;
std::cout << "Введите количество чисел: ";
std::cin >> n;
int maxEvenCount = 0;
int maxEvenNumber = -1;
std::vector<int> smallestNumbers(2, INT_MAX);
for (int i = 0; i < n; ++i) {
int num;
std::cout << "Введите число #" << i + 1 << ": ";
std::cin >> num;
int evenCount = countEvenDigits(num);
if (evenCount > maxEvenCount) {
maxEvenCount = evenCount;
maxEvenNumber = num;
}
if (num < smallestNumbers[0]) {
smallestNumbers[1] = smallestNumbers[0];
smallestNumbers[0] = num;
} else if (num < smallestNumbers[1]) {
smallestNumbers[1] = num;
}
}
std::cout << "Число с наибольшим количеством четных цифр: " << maxEvenNumber << std::endl;
std::cout << "Два наименьших числа: " << smallestNumbers[0] << " и " << smallestNumbers[1] << std::endl;
return 0;
}
Просто скопируйте этот код в среду разработки C++ и запустите программу. Она попросит вас ввести количество чисел, затем последовательно ввести сами числа. В итоге она выведет число с наибольшим количеством четных цифр и два наименьших числа из введенных.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili