Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream> //ввод, вывод cout<< cin>>
- #include <iomanip> //расширенные функции <iostream>
- #include <cstdlib> //преобразование типов
- #include <math.h> //стандартные функции
- #include <ctime> //пауза
- #include <locale.h> //русский язык
- using namespace std;
- int main() {
- setlocale(LC_ALL, "Russian");
- int i, n, imin = 0, a = 0, b = 0;
- double sum = 0, proizv = 1, min = 0, c = 0;
- double sort = 1;
- cout << ("Введите количество эллементов массива: ");
- cin >> n; //ввод размерности массива
- cout << ("Введите элементы массива:") << endl << endl;
- double* p = new double[n]; // объявление массива
- double* p1 = new double[n]; //объявление массива четных позиций
- double* p2 = new double[n]; //объявление массива нечетных позиций
- for (i = 0; i < n; i++)
- cin >> p[i]; //ввод массива
- for (i = 0; i < n; i++)
- if (p[i] > 0) {
- proizv *= p[i];//произведение положительных элементов
- }
- cout << ("Произведение положительных элементов: ") << proizv << endl; //вывод
- min = p[0]; //берем 1 элемент за минимальный
- for (i = 0; i < n; i++) //поиск
- if (p[i] < min) //минимального
- { //элемента
- min = p[i];
- imin = i; //номер мин элемента
- }
- for (i = 0; i < imin; i++)sum += p[i];//суммирование
- cout << ("Сумма элементов расположенных до минимального: ") << sum << endl;//вывод суммы
- cout << ("Преобразованный массив:") << endl;
- for (i = 0; i < n; i++) { //поиск элементов четных позиций
- if ((i % 2) == false) //деление на 2
- {
- p1[a] = p[i];
- a++;
- }
- else //поиск элементов нечетных позиций
- {
- p2[b] = p[i];
- b++;
- }
- }
- while (sort) {
- sort = 0;
- for (i = 0; i < a - 1; i++) //сортировка четных
- {
- if (p1[i] > p1[i + 1]) {
- c = p1[i];
- p1[i] = p1[i + 1];
- p1[i + 1] = c;
- sort = 1;
- }
- }
- sort = 0;
- for (i = 0; i < b - 1; i++) //сортировка нечетных
- {
- if (p2[i] > p2[i + 1]) {
- c = p2[i];
- p2[i] = p2[i + 1];
- p2[i + 1] = c;
- sort = 1;
- }
- }
- }
- for (i = 0; i < a; i++)cout << p1[i] << ' ';//вывод отсортированных четных элементов
- cout << endl;
- for (i = 0; i < b; i++)cout << p2[i] << ' ';//вывод отсортированных нечетных элементов
- delete[] p;
- delete[] p1; //удаление выдленной динамической памяти
- delete[] p2;
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment