- •Лабораторная работа №6
- •1. Постановка задачи:
- •5. Функция main()
- •Лабораторная работа №11
- •1. Постановка задачи.
- •Задача 1.
- •3. Функция main().
- •Задача 2.
- •5. Описание класса
- •Int getmin() {return min;} //получение количества минут
- •Int getsec() {return sec;} //получение количества секунд
- •8. Функция main()
- •Задача 3.
- •12. Функция main()
- •Задача 4.
- •15. Функция main()
- •Задача 5.
- •19. Функция main()
- •Лабораторная работа №13
- •1. Постановка задачи. Задача 1.
- •Задача 2.
- •Задача 3.
- •2. Описание класса
- •Int getmin() {return min;} //получение количества минут
- •Int getsec() {return sec;} //получение количества секунд
- •Задача 1.
- •5. Функция main()
- •Задача 2.
- •8. Функция main()
- •Задача 3.
- •11. Функция main()
Лабораторная работа №11
1. Постановка задачи.
Задача 1.
Создать последовательный контейнер – список.
Заполнить его элементами типа float.
Найти минимальный элемент и вставить его на заданную позицию.
Удалить элементы списка, которые больше среднего арифметического его элементов.
Домножить все элементы списка на максимальный элемент.
Выполнение заданий оформить в виде глобальных функций.
Задача 2.
Создать последовательный контейнер – список.
Заполнить его элементами типа Time.
Найти минимальный элемент и вставить его на заданную позицию.
Удалить элементы списка, которые больше среднего арифметического его элементов.
Домножить все элементы списка на максимальный элемент.
Выполнение заданий оформить в виде глобальных функций.
Задача 3.
Создать параметризованный класс, используя в качестве контейнера список.
Заполнить его элементами типа Time.
Найти минимальный элемент и вставить его на заданную позицию.
Удалить элементы списка, которые больше среднего арифметического его элементов.
Домножить все элементы списка на максимальный элемент.
Выполнение заданий оформить в виде методов параметризованного класса.
Задача 4.
Создать адаптер контейнера – стек.
Заполнить его элементами типа Time, для которого перегрузить необходимые операции.
Найти минимальный элемент и вставить его на заданную позицию.
Удалить элементы списка, которые больше среднего арифметического его элементов.
Домножить все элементы списка на максимальный элемент.
Выполнение заданий оформить в виде глобальных функций.
Задача 5.
Создать параметризованный класс, используя в качестве контейнера адаптер контейнера – стек.
Заполнить его элементами типа Time, для которого перегрузить необходимые операции.
Найти минимальный элемент и вставить его на заданную позицию.
Удалить элементы списка, которые больше среднего арифметического его элементов.
Домножить все элементы списка на максимальный элемент.
Выполнение заданий оформить в виде методов параметризованного класса.
Задача 1.
2. Функции для выполнения заданий
typedef list<float> My_list;
My_list Create_list(int n)
//создание списка, заполенного случайными данными
{
My_list list1;
for (int i=0;i<n;i++)
{
float a=(rand()%10000)/100.0-50.0;
list1.push_back(a);
}
return list1;
}
void print_list(My_list& list1)
//вывод элементов списка
{
My_list::iterator it1,itend;
itend=list1.end();
it1=list1.begin();
while (it1!=itend)
cout<<*(it1++)<<" ";
cout<<endl;
}
float min_el(My_list &list1)
//поиск минимального элемента
{
My_list::iterator it1,itmin,itend;
it1=itmin=list1.begin();
itend=list1.end();
while (it1!=itend)
{
if (*it1 <* itmin)
itmin=it1;
it1++;
}
return *itmin;
}
void ins(My_list& list1,float a,int n)
//добавление элемента a на позицию n
{
My_list::iterator it1;
if (n>list1.size()+1)
cout<<"No such position"<<endl;
else
{
it1=list1.begin();
for (int i=0;i<n-1;i++)
it1++;
list1.insert(it1,a);
}
}
float Avg(My_list& list1)
//нахождение среднего арифметического
{
My_list::iterator it1,itend;
float a;
a=0;
it1=list1.begin();
itend=list1.end();
while (it1!=itend)
a+=*(it1++);
a/=list1.size();
return a;
}
void Del_m(My_list& list1,float a)
//удаление элементов, больших a из списка
{
My_list::iterator it1;
it1=list1.begin();
while (it1!=list1.end())
{
if (*it1>a)
it1=list1.erase(it1);
else
if (it1!=list1.end())
it1++;
}
}
float max_el(My_list &list1)
//поиск минимального элемента
{
My_list::iterator it1,itmax,itend;
it1=itmax=list1.begin();
itend=list1.end();
while (it1!=itend)
{
if (*it1 >* itmax)
itmax=it1;
it1++;
}
return *itmax;
}
void mult(My_list &list1,float a)
//домножение всех элементов списка на число a
{
My_list::iterator it1,itend;
it1=list1.begin();
itend=list1.end();
while (it1!=itend)
(*(it1++))*=a;
}