• Предмет: Информатика
  • Автор: grabovasofia139
  • Вопрос задан 3 месяца назад

Помогите, пожалуйста. Нужно написать код в С++.
Задача: В одном массиве, состоящем из n вещественных элементов, вычислить:
1) количество отрицательных элементов массива
2) сумму модулей элементов массива, расположенных после минимального по модулю элемента
Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.
Спасибо за помощь ​

Ответы

Ответ дал: romanmakarj
0

Вот решение задачи на языке С++:

#include <iostream>

#include <cmath>

#include <algorithm>

using namespace std;

int main() {

const int n = 10; // задаем размер массива

double a[n]; // объявляем массив

int count_negative = 0; // количество отрицательных элементов

double sum_mod = 0; // сумма модулей элементов после минимального по модулю элемента

double min_mod = INFINITY; // минимальный по модулю элемент

int index_min_mod = -1; // индекс минимального по модулю элемента

// заполняем массив случайными значениями

for (int i = 0; i < n; i++) {

   a[i] = (double) rand() / RAND_MAX * 10 - 5; // случайное значение в диапазоне от -5 до 5

}

// выводим исходный массив

cout << "Исходный массив: ";

for (int i = 0; i < n; i++) {

   cout << a[i] << " ";

}

cout << endl;

// вычисляем количество отрицательных элементов и сумму модулей элементов после минимального по модулю элемента

for (int i = 0; i < n; i++) {

   if (a[i] < 0) {

       count_negative++;

       a[i] = pow(a[i], 2); // заменяем отрицательный элемент его квадратом

   }

   double mod = abs(a[i]);

   if (mod < min_mod) {

       min_mod = mod;

       index_min_mod = i;

   }

   if (i > index_min_mod) {

       sum_mod += mod;

   }

}

// сортируем массив по возрастанию

sort(a, a + n);

// выводим результаты

cout << "Количество отрицательных элементов: " << count_negative << endl;

cout << "Сумма модулей элементов после минимального по модулю элемента: " << sum_mod << endl;

cout << "Измененный и отсортированный массив: ";

for (int i = 0; i < n; i++) {

   cout << a[i] << " ";

}

cout << endl;

return 0;

}


romanmakarj: вроді правильно?
grabovasofia139: Так, все начебто правильно. Дуже дякую
Вас заинтересует