В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- сумму отрицательных элементов массива;
- упорядочить элементы массива по возрастанию методом вставки.
Размер массива и его элементы вводит пользователь с клавиатуры. Создать динамический массив.
(на C++)
Ответы на вопрос
Для решения задачи нужно создать динамический массив вещественных чисел, размер которого вводит пользователь. После заполнения массива необходимо:
-
Найти сумму всех отрицательных элементов.
-
Отсортировать массив по возрастанию методом вставки.
Метод вставки работает следующим образом: начиная со второго элемента, каждый элемент сравнивается с предыдущими элементами уже отсортированной части массива и вставляется на подходящее место.
Пример программы на C++:
C++#includeusing namespace std;int main() { int n; cout << "Введите размер массива: "; cin >> n;
// Создание динамического массива double* a = new double[n];
cout << "Введите элементы массива:" << endl; for (int i = 0; i < n; i++) { cin >> a[i]; }
// Вычисление суммы отрицательных элементов double sum = 0;
for (int i = 0; i < n; i++) { if (a[i] < 0) { sum += a[i]; } }
cout << "Сумма отрицательных элементов: " << sum << endl;
// Сортировка методом вставки по возрастанию for (int i = 1; i < n; i++) { double key = a[i]; int j = i - 1;
while (j >= 0 && a[j] > key) { a[j + 1] = a[j]; j--; }
a[j + 1] = key; }
// Вывод отсортированного массива cout << "Массив после сортировки:" << endl;
for (int i = 0; i < n; i++) { cout << a[i] << " "; }
// Освобождение памяти delete[] a;
return 0; }
Пример работы программы:
Введите размер массива: 5 Введите элементы массива: 4.5 -2.3 7.1 -1.5 3.0Сумма отрицательных элементов: -3.8
Массив после сортировки: -2.3 -1.5 3 4.5 7.1
В программе используется оператор new для выделения памяти под динамический массив и delete[] для освобождения этой памяти после завершения работы. Метод вставки сортирует элементы непосредственно в самом массиве без создания дополнительного массива.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

