М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
MUSHDAN
MUSHDAN
31.05.2021 20:01 •  Информатика

Напишите программу, которая заполняет массив из 20 элементов случайными трёхзначными числами и находит в нём элемент, у которого наибольшая сумма цифр, и его но мер. С++ ТОЛЬКО СИ ++

👇
Ответ:
narik2222
narik2222
31.05.2021
Хорошо, я могу помочь вам написать программу на языке C++, которая будет решать данную задачу.

Прежде всего, мы должны понять, как заполнить массив случайными трёхзначными числами. Для этого нам понадобится библиотека случайных чисел , а также функции rand() и srand(). Давайте создадим функцию, которая будет заполнять массив случайными трёхзначными числами:

```cpp
#include
#include
#include

void fillArray(int array[], int size)
{
srand(time(0)); // Инициализация генератора случайных чисел

for (int i = 0; i < size; i++)
{
array[i] = rand() % 900 + 100; // Генерация случайного трёхзначного числа
}
}
```

Далее, нам нужно создать функцию для вычисления суммы цифр числа. Для этого мы будем считать остатки от деления числа на 10, чтобы получить каждую цифру, и затем суммировать их. Давайте создадим соответствующую функцию:

```cpp
int digitSum(int number)
{
int sum = 0;

while (number > 0)
{
sum += number % 10; // Получение цифры числа
number /= 10; // Убираем последнюю цифру числа
}

return sum;
}
```

Теперь мы можем создать главную функцию программы, которая будет находить элемент массива с наибольшей суммой цифр. В этой функции мы вызовем функцию fillArray(), чтобы заполнить массив, затем пройдемся по всем элементам массива, находя сумму цифр каждого числа и запоминая индекс элемента с максимальной суммой:

```cpp
int main()
{
const int size = 20;
int array[size];

fillArray(array, size);

int maxSum = 0;
int maxIndex = 0;

for (int i = 0; i < size; i++)
{
int sum = digitSum(array[i]);

if (sum > maxSum)
{
maxSum = sum;
maxIndex = i;
}
}

std::cout << "Число с наибольшей суммой цифр: " << array[maxIndex] << std::endl;
std::cout << "Наибольшая сумма цифр: " << maxSum << std::endl;

return 0;
}
```

Вот и весь код программы. Теперь, при запуске программы, она заполнит массив из 20 случайных трёхзначных чисел, найдет число с наибольшей суммой цифр и выведет его на экран, а также выведет саму наибольшую сумму цифр.

Надеюсь, мой ответ вам помог! Если есть ещё вопросы, не стесняйтесь задавать.
4,4(41 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика

MOGZ ответил

Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ