Файл: Лабораторная работа 2 По дисциплине Информатика и программирование.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.04.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДРАСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Факультет дистанционного обучения (ФДО)
Лабораторная работа № 2
По дисциплине «Информатика и программирование»
Выполнила:
Студентка ФДО ТУСУР
Направление подготовки 09.03.04
Киломатова Элина Руслановна
Томск 2022

В одномерном массиве, состоящем из n вещественных элементов,
вычислить:
1) сумму положительных элементов массиве
2) произведение элементов массиве, расположенных между максимальным по модулю и минимальным по модулю элементами.
3) Упорядочить элементы массива по убыванию
/*Файл:
Задача:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму положительных элементов массиве
2) произведение элементов массиве, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию
# include /*ввод, вывод cout<< cin>>*/
# include /*расшириные функции */
# include /*преобразование типов*/
# include /*стандартны функции*/
# include /*пауза*/
#include /*русский язык*/ using namespace std; int main()
{ setlocale(LC_CTYPE, "Russian"); int i = 0;//счетчик int n = 0; //количество элементов в массиве int sum = 0;//сумма элементов
//ввод количества элементов в массве cout << "введите количество элементов в массиве" << endl; cin >> n;
int *a = new int[n];//описание динамического массва
//ввод элементов в динамический массив for (i = 0; i < n; i++)
{ cout << "Введите элемент массива с индексом " << i << endl; cin >> a[i];
}
/*исхдный отсортированый масив*/ cout << "исходный массив" << endl; for (i = 0; i < n; i++)
{ cout << a[i] << " ";
} cout << "конец" << endl;
//подсчет суммы положительных элементов for (i = 0; i < n; i++) if (a[i]>0)
{ sum += a[i];
} cout << "сумма положительных элементов массиве равна " << sum << endl; cout << endl;
//нахождение произведения int imax = 0, imin = 0;//максимальный элемент и минимальный for (i = imax = imin = 0; i < n; i++)
{ if (abs(a[i]) > abs(a[imax])) imax = i; if (abs(a[i]) < abs(a[imin])) imin = i;
} int ibeg = imax < imin ? imax : imin;//начало int iend = imax < imin ? imin : imax;//конец int p = 1;//накопитель произведения if (iend - ibeg == 1) p = 0; else


{ for (i = ibeg + 1; i < iend; i++) p = p*a[i];
} cout << "произведение элементов массиве, расположенных между" << endl; cout << "максимальным по модулю и минимальным по модулю элементами равна " << p << endl; cout << endl;
/*сортирум масив пузырьковым способом (оптимизированым)*/ int t; int x; int R = n - 2; do
{ t = -1; //место последнего обмена for (i = 0; i <= R; i++) if (a[i] < a[i + 1])
{ x = a[i]; a[i] = a[i + 1]; a[i + 1] = x; t = i;
}
R = t; // Перены R в месте последнего обмена
} while (t != -1);//До тех пор, пока не будет обмена
/*выводим отсортированый масив*/ for (i = 0; i < n; i++)
{ cout << a[i] << " ";
} cout << "конец" << endl; system("pause"); return 0;
}