В С++ В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество отрицательных элементов массива; 2) сумму модулей элементов массива, расположенных после минимального по модулю элемента. Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию
#include <iostream> #include <cmath> #include <algorithm> int main() { int n; std::cout << "Введите размер массива: "; std::cin >> n; double* arr = new double[n]; std::cout << "Введите элементы массива: "; for (int i = 0; i < n; i++) { std::cin >> arr[i]; } int countNegative = 0; for (int i = 0; i < n; i++) { if (arr[i] < 0) { countNegative++; arr[i] = arr[i] * arr[i]; // заменяем отрицательный элемент его квадратом } } double minAbs = std::abs(arr[0]); int minAbsIndex = 0; for (int i = 1; i < n; i++) { if (std::abs(arr[i]) < minAbs) { minAbs = std::abs(arr[i]); minAbsIndex = i; } } double sumAfterMinAbs = 0; for (int i = minAbsIndex + 1; i < n; i++) { sumAfterMinAbs += std::abs(arr[i]); } std::sort(arr, arr + n); std::cout << "Количество отрицательных элементов массива: " << countNegative << std::endl; std::cout << "Сумма модулей элементов массива после минимального по модулю элемента: " << sumAfterMinAbs << std::endl; std::cout << "Упорядоченный массив: "; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } delete[] arr; return 0; }
Этот код сначала запрашивает размер массива и его элементы у пользователя, затем вычисляет количество отрицательных элементов, сумму модулей элементов, расположенных после минимального по модулю элемента, заменяет отрицательные элементы их квадратами, и наконец упорядочивает элементы массива по возрастанию.
Пример кода на C++:
#include <iostream>#include <cmath>
#include <algorithm>
int main() {
int n;
std::cout << "Введите размер массива: ";
std::cin >> n;
double* arr = new double[n];
std::cout << "Введите элементы массива: ";
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}
int countNegative = 0;
for (int i = 0; i < n; i++) {
if (arr[i] < 0) {
countNegative++;
arr[i] = arr[i] * arr[i]; // заменяем отрицательный элемент его квадратом
}
}
double minAbs = std::abs(arr[0]);
int minAbsIndex = 0;
for (int i = 1; i < n; i++) {
if (std::abs(arr[i]) < minAbs) {
minAbs = std::abs(arr[i]);
minAbsIndex = i;
}
}
double sumAfterMinAbs = 0;
for (int i = minAbsIndex + 1; i < n; i++) {
sumAfterMinAbs += std::abs(arr[i]);
}
std::sort(arr, arr + n);
std::cout << "Количество отрицательных элементов массива: " << countNegative << std::endl;
std::cout << "Сумма модулей элементов массива после минимального по модулю элемента: " << sumAfterMinAbs << std::endl;
std::cout << "Упорядоченный массив: ";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
delete[] arr;
return 0;
}
Этот код сначала запрашивает размер массива и его элементы у пользователя, затем вычисляет количество отрицательных элементов, сумму модулей элементов, расположенных после минимального по модулю элемента, заменяет отрицательные элементы их квадратами, и наконец упорядочивает элементы массива по возрастанию.