Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // oop5.cpp : Defines the entry point for the console application.
- /*Создать массив, размерность указать в качестве параметра (инициализация случайными числами). Создать шаблонные функции:
- для сортировки массива по возрастанию
- для вывода информации на экран.
- Явно перегрузить функцию сортировкидля типа double – сортировать по убыванию. Продемонстрировать работу с типами данных:int, double, char*/
- #include "stdafx.h"
- #include <iostream>
- #include <cstdio>
- #include <algorithm>
- #include "time.h"
- #include <vector>
- using namespace std;
- template <typename T>
- void std::swap(T &left, T &right)
- {
- T k=vec[j];
- vec[j]=vec[j+1];
- vec[j+1]=k;
- }
- template <class SortMass>
- void Sort(SortMass vec, int Size)
- {
- SortMass::value_type k;
- for(int i=0;i<(Size-1);i++)
- {
- for(int j=0;j<(Size-1);j++)
- {
- if (vec[j]>vec[j+1])
- {
- k=vec[j];
- vec[j]=vec[j+1];
- vec[j+1]=k;
- }
- }
- }
- show(vec,Size);
- }
- void Sort(vector<double> vec1, int Size)
- {
- double k;
- for (int i=0;i<vec1.size();i++)
- {
- for(int j=0;j<(vec1.size()-1);j++)
- {
- if (vec1[j]<vec1[j+1])
- {
- k=vec1[j];
- vec1[j]=vec1[j+1];
- vec1[j+1]=k;
- }
- }
- }
- cout<<"Sort massive:(min)"<<endl;
- for (int i=0;i<vec1.size();i++)
- {
- cout<<vec1[i]<<" ";
- }
- cout<<endl;
- }
- template <class ShowMass>
- void show(ShowMass &vec,int Size)
- {cout<<"Sort massive:"<<endl;
- for (int i=0;i<Size;i++)
- {
- cout<<vec[i]<<" ";
- }
- cout<<endl;
- }
- int main()
- {
- setlocale(0,"Russian");
- int Size=10;
- vector<int> vec(Size);
- vector<double> vec1(Size);
- vector<char> vec2(Size);
- #pragma region int
- cout<<"Исходный массив"<<endl;
- for (int i=0;i<vec.size();i++)
- {
- vec[i]=rand()%10;
- cout<<vec[i]<<" ";
- }
- cout<<endl;
- Sort(vec,Size);
- #pragma endregion
- #pragma region double
- cout<<"Для типа double"<<endl;
- cout<<"Исходный массив"<<endl;
- for (int i=0;i<vec1.size();i++)
- {
- vec1[i]=rand()%17;
- vec1[i]=vec1[i]/3;
- cout<<vec1[i]<<" ";
- }
- cout<<endl;
- Sort(vec1,Size);
- #pragma endregion
- #pragma region char
- cout<<"Для типа char"<<endl;
- cout<<"Исходный массив"<<endl;
- vec2[0]='a';vec2[1]='n';vec2[2]='b';vec2[3]='j';vec2[4]='u';vec2[5]='h';vec2[6]='y';vec2[7]='t';vec2[8]='w';vec2[9]='c';
- for (int i=0;i<vec2.size();i++)
- {
- cout<<vec2[i]<<" ";
- }
- cout<<endl;
- #pragma endregion
- Sort(vec2,Size);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement