Использование перегрузок

Цель: Научиться реализовывать и использовать перегруженные функции.

Блок-схема:

Код программы:

// Функции вывода на экран

#include <iostream>

using namespace std;

// Размер массивов

const int size = 10;

// Перегруженная функция sort - сортировка массивов целых чисел

void sort(int n, int *arr)

{

// Алгоритм сортировки методом выбора

// Внешний цикл перебирает элементы массива

for (int i = 0; i < n-1; i++)

{

// Внутренний цикл ищет минимальный элемент на текущем шаге

int i_min = i;

for (int j = i+1; j < n; j++)

{

if (arr[j] < arr[i_min]) i_min = j;

}

// Обмен текущего элемента с минимальным

if (i_min!= i)

{

int temp = arr[i];

arr[i] = arr[i_min];

arr[i_min] = temp;

}

}

}

// Перегруженная функция sort - сортировка массивов вещественных чисел

void sort(int n, double *arr)

{

for (int i = 0; i < n-1; i++)

{

int i_min = i;

for (int j = i+1; j < n; j++)

{

if (arr[j] < arr[i_min]) i_min = j;

}

if (i_min!= i)

{

double temp = arr[i];

arr[i] = arr[i_min];

arr[i_min] = temp;

}

}

}

int main()

{

// 2 статических массива - цедлочисленный и вещественный

int arr_int[size];

double arr_double[size];

// Заполняем массивы случайными числами в диапазоне от 0 до 100, один массив - целыми, другой - вещественными числами

for (int i = 0; i < size; i++)

{

arr_int[i] = (int)(100.0 * (double)rand()/(double)RAND_MAX);

arr_double[i] = 100.0 * (double)rand()/(double)RAND_MAX;

}

// Сортируем один массив - ожидается, что вызовется функция

// void sort(int n, double *arr)

sort(size, arr_double);

// Сортируем второй массив - ожидается, что вызовется функция

// void sort(int n, int *arr)

sort(size, arr_int);

// Выводим сортированные массивы на экран

cout<<"Sorted int array:"<<endl;

for (int i = 0; i < size; i++) cout<<arr_int[i]<<"\t";

cout<<endl<<endl;

cout<<"Sorted double array:"<<endl;

for (int i = 0; i < size; i++) cout<<arr_double[i]<<"\t";

cout<<endl;

system("pause");

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: