У вас есть массив из 2018 положительных целых чисел, которые не превышают 30 000. Требуется найти количество элементов

  • 28
У вас есть массив из 2018 положительных целых чисел, которые не превышают 30 000. Требуется найти количество элементов в массиве, которые делятся на 3 и оканчиваются на цифру 1, а затем заменить каждый из таких элементов на это количество. Напишите программу для решения этой задачи. В результате программа должна вывести измененный массив, по одному элементу в строке. Например, для массива из 5 элементов: 15, 71, 21, 111, 41, программа должна вывести (по одному числу в строке): 15, 71, 2, 2, 41. #include using namespace std; const int N = 2018; int main
Софья
58
Очень рад помочь! Вот подробное решение вашей задачи:

cpp
#include
using namespace std;

const int N = 2018;

int main() {
int arr[N];

// Вводим элементы массива
cout << "Введите " << N << " положительных целых чисел, каждое не превышает 30000:" << endl;
for (int i = 0; i < N; i++) {
cin >> arr[i];
}

int count = 0; // счетчик элементов, которые делятся на 3 и оканчиваются на 1

// Проверяем каждый элемент массива
for (int i = 0; i < N; i++) {
if (arr[i] % 3 == 0 && arr[i] % 10 == 1) {
count++;
}
}

// Заменяем каждый подходящий элемент на количество таких элементов
for (int i = 0; i < N; i++) {
if (arr[i] % 3 == 0 && arr[i] % 10 == 1) {
arr[i] = count;
}
}

// Выводим измененный массив
cout << "Измененный массив:" << endl;
for (int i = 0; i < N; i++) {
cout << arr[i] << endl;
}

return 0;
}


Давайте разберём пошагово:

1. Мы начинаем с объявления константы `N`, которая равна 2018, чтобы указать размер массива.

2. Затем мы объявляем массив `arr` размером `N`.

3. Вводим элементы массива с помощью цикла `for`. Мы просим ввести `N` чисел от пользователя и сохраняем их в каждом элементе массива.

4. Далее у нас есть переменная `count`, которая будет использоваться для подсчета элементов, удовлетворяющих условию (делящихся на 3 и оканчивающихся на 1).

5. Мы используем цикл `for`, чтобы пройти по каждому элементу массива и проверить его. Если элемент делится на 3 и оканчивается на 1, мы увеличиваем значение переменной `count` на 1.

6. Затем мы снова используем цикл `for`, чтобы пройтись по массиву и заменить каждый элемент, удовлетворяющий условию, на значение переменной `count`.

7. Наконец, мы выводим измененный массив, проходя по каждому элементу в цикле `for` и печатая его значение.

Это полностью работающая программа для решения вашей задачи. Если у вас возникнут еще вопросы, пожалуйста, дайте знать.