Программирование СИ++. Заполнить массив из 16 элементов случайными числами в интервале [10;50] и выполнить инверсию отдельно для 1-ой и 2-ой половин массива.

21 Июл 2021 в 19:43
111 +1
0
Ответы
1
#include <iostream>
#include <ctime>
int main() {
srand(time(0));
const int size = 16;
int arr[size];
// Заполнение массива случайными числами в интервале [10;50]
for (int i = 0; i < size; i++) {
arr[i] = rand() % 41 + 10; // Генерация числа от 10 до 50
}
// Вывод исходного массива
std::cout << "Исходный массив:\n";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
// Инверсия 1-ой половины массива
for (int i = 0; i < size / 2; i++) {
int temp = arr[i];
arr[i] = arr[size - i - 1];
arr[size - i - 1] = temp;
}
// Вывод массива после инверсии 1-ой половины
std::cout << "Массив после инверсии 1-ой половины:\n";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
// Инверсия 2-ой половины массива
for (int i = size / 2; i < size; i++) {
int temp = arr[i];
arr[i] = arr[size - i - 1 + size / 2];
arr[size - i - 1 + size / 2] = temp;
}
// Вывод массива после инверсии 2-ой половины
std::cout << "Массив после инверсии 2-ой половины:\n";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}

Пример вывода:

Исходный массив:
28 30 36 40 49 22 34 38 33 45 41 38 20 25 49 10
Массив после инверсии 1-ой половины:
10 49 25 20 38 41 45 33 38 34 22 49 40 36 30 28
Массив после инверсии 2-ой половины:
10 49 25 20 38 41 45 33 38 34 22 49 40 36 30 28
17 Апр 2024 в 14:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир