Чтобы решить задачу и сформировать одномерный массив из сумм положительных элементов столбцов, индекс которых кратен 5, можно сделать следующие изменения в вашем коде:
1. Создать одномерный массив для хранения сумм положительных элементов.
2. Итерировать по столбцам, которые кратны 5.
3. Для каждого такого столбца найти сумму положительных элементов и сохранить её в одномерный массив.
int main()
{
setlocale(0, ""
int D[4][15];
srand(time(NULL));
cout << "Первоначальный массив:\n";
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 15; j++)
{
D[j] = -20 + rand() % (40);
cout << setw(4) << D[j];
}
cout << endl;
}
cout << endl;
// Одномерный массив для хранения сумм положительных элементов столбцов, кратных 5
int sumArray[3]; // Всего будет 3 столбца с индексами кратными 5 (0, 5, 10)
int index = 0;
// Итерируем по столбцам, которые кратны 5
for (int j = 0; j < 15; j += 5) {
int sum = 0;
for (int i = 0; i < 4; i++) {
if (D[j] > 0) {
sum += D[j];
}
}
sumArray[index++] = sum; // Сохраняем сумму в массив
}
// Выводим результаты
cout << "Суммы положительных элементов в столбцах с индексами кратными 5:\n";
for (int i = 0; i < 3; i++) {
cout << "Сумма для столбца " << i * 5 << " = " << sumArray << endl;
}
system("pause>>void"
return 0;
}
Объяснение изменений:
1. Мы создаем одномерный массив `sumArray` для хранения сумм.
2. Внешний цикл итерируется по столбцам с индексами кратными 5 (0, 5, 10).
3. Внутренний цикл суммирует положительные элементы для текущего столбца.
4. Суммы сохраняются в `sumArray`.
5. Затем результаты выводятся.
Этот код гарантирует, что вы получаете сумму положительных элементов для столбцов с индексами 0, 5 и 10, и сохраняете их в одномерный массив.