Void main()
{
int n;
cout<<"N: "<<endl;//вводится количество элемеентов
cin>>n;
int *mas=new int[n];//динамическое освобождение памяти под массив
for (int i=0; i<n; i++)
mas[i]=rand()%200-100;
QuickSort(mas, 0, n-1);//массив, первый элемент 0, последний элемент n-1
print(mas, n);//вывод окончательного массива на экран
}
Задача 13:
#include <iostream>
#include <stdlib.h>
using namespace std;
template <class t> void QuickSort (t *mas, int nach, int kon)
{
int i=nach, j=kon, sred=mas[(nach+kon)/2];
do
{
while (mas[i]<sred)i++;
while(mas[j]>sred)j--;
if (i<= j)
{
int b;
b=mas[i];
mas[i]=mas[j];
mas[j]=b;
i++;
j--;
}
}
while(i<=j);
if(nach<j)QuickSort<t>(mas, nach, j);
if(i<kon) QuickSort<t>(mas, i, kon);
} //тоже самое что в 12 задаче
template <class t> void print(t *mas, int n)//шаблон, class t - прри компиляции будет вместо него подставлен конкретный тип данных, void- тип возращаемого функцией значения, print - имя функции с параметрами внутри него, массив из целочисленных элементов количеством n
{
for(int i=0; i<n; i++)
cout<<mas[i]<<" ";//выводится массив
cout<<endl;
}
Void main()
{
int n;
cout<<"N: "<<endl;
cin>>n;
int *IntMas=new int[n];//освобождается память для массива из целочисленных элементов
for(int i=0; i<n; i++)
IntMas[i]=rand()%200-100;//массив целочисленных элементов
float *FloatMas=new float[n];// освобождается память для элементов типа float
for (int i=0; i<n; i++)
FloatMas[i]=(float)rand()/200-100;//массив из этих элементов
print <int>(IntMas, n);
print <float>(FloatMas, n);
QuickSort<int>(IntMas, 0, n-1);
print<int>(IntMas, n);
QuickSort <float> (FloatMas, 0, n-1);
print<float>(FloatMas, n);
}
