Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamenatsionnye_zadachi_po_Informatike_Resheni...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
97 Кб
Скачать
☆

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);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]