Министерство Высшего и Среднего специального образования
Республики Узбекистан
НАМАНГАСКИЙ ИНЖЕНЕРНО-СТРОИТЕЛЬНЫЙ ИНСТИТУТ
Факультет: Энергетика и ИП
Кафедра: Информатики и ИТ
Предмет: Информационные технологии в технических системах
Лабораторная работа № 4
Выполнил: студент гр. 50-ИАТ-19(р)
Абдуллаев Дилшодбек
Проверил : Кодиров Зохиджон
Наманган -2020 г.
Лабораторная работа № 4.
Тема «Обработка одномерных массивов»
Цель работы : Изучение одномерных массивов в языке С++. Знакомство с основными алгоритмами работы с одномерными массивами – определение суммы, произведения элементов, поиска максимального или минимального элементов, сортировка элементов массива.
Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке С++.
Вариант задания:
1.Упорядочить массив Х(N) по возрастанию, найти сумму положительных элементов массива.
Решение:
Код в C++
#include
#include
#include
void stright_insertion_sort(int* a, int n)
{
for(int i = 1; i < n; ++i)
{
int x = a[i];
int j = i;
while((j > 0) && (a[j-1] > x))
{
a[j] = a[j-1];
--j;
}
a[j] = x;
}
}
int sum_of_pos(const int* a, int n)
{
int sum = 0;
for(int i = 0; i < n; ++i)
if(a[i] > 0)
sum += a[i];
return sum;
}
void write_array(const int* a, int n)
{
for(int i = 0; i < n; ++i)
std::cout << a[i] << ' ';
std::cout << '\n';
}
int main()
{
const int n = 10;
int a[n];
std::srand(std::time(NULL));
for(int i = 0; i < n; ++i)
a[i] = std::rand() % 200 - 100;
std::cout << "Nesortirovan: ";
write_array(a, n);
stright_insertion_sort(a, n);
std::cout << "Sortirovan: ";
write_array(a, n);
std::cout << "Summa: " << sum_of_pos(a, n) << '\n';
}
Do'stlaringiz bilan baham: |