Описание программного комплекса. Модуль Description. Вид исходных файлов с данными, страница 9

if ( vector [ j ] -> getPopulation ( ) > vector [ j + 1 ] -> getPopulation ( ) ){

//Выполняем перестановку элементов массива

city*  tmp = vector [ j ];

vector [ j ] = vector [ j + 1 ];

vector [ j + 1] = tmp;

}

break;

case 2:

//Организуем внещний цикл для прохода по массиву

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

//Организуем внутренний цикл для прохода по массиву

for ( int j = 0; j < count - 1; j++ )

//Если название текущей улицы БОЛЬШЕ названия следующей улицы

if ( strcmp ( vector [ j ] -> getName ( ), vector [ j + 1 ] -> getName ( ) ) > 0 ){

//Выполняем перестановку элементов массива

city* tmp = vector [ j ];

vector [ j ] = vector [ j + 1 ];

vector [ j + 1] = tmp;

}

break;

case 3:

//Организуем внещний цикл для прохода по массиву

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

//Организуем внутренний цикл для прохода по массиву

for ( int j = 0; j < count - 1; j++ )

//Если главная достопримечательность текущего города БОЛЬШЕ достопримечательности следующего города

if ( strcmp ( vector [ j ] -> getAttraction ( ), vector [ j + 1 ] -> getAttraction ( ) ) > 0 ){

//Выполняем перестановку элементов массива

city* tmp = vector [ j ];

vector [ j ] = vector [ j + 1 ];

vector [ j + 1] = tmp;

}

break;

}

system ( "cls" );

//Выводим сообщение об успешной сортировке массива

cout << "Sorted" << endl;

system ( "pause" );

showAll ( );

}

//Функция вывода групповых результатов

void variety::groupResult ( ){

//Инициализация вспомогательных переменных

float amount = 0.0;

unsigned int capital = 0, region = 0, district = 0, village = 0;

float minPopulation = vector [ 0 ] -> getPopulation ( );

float maxPopulation = vector [ 0 ] -> getPopulation ( );

//Проходя по всем элементам массива

for ( int i = 0; i < count; i++ ){

//Высчитываем сумму популяций городов

amount += vector [ i ] -> getPopulation ( );

//Ищем минимальную популяцию

if ( vector [ i ] -> getPopulation ( ) < minPopulation )

minPopulation = vector [ i ] -> getPopulation ( );

//Ищем максимальную протяженность улицы

if ( vector [ i ] -> getPopulation ( ) > maxPopulation )

maxPopulation = vector [ i ] -> getPopulation ( );

//Считаем количество столиц

if ( vector [ i ] -> getIntLevel ( ) == 1 )

capital++;

//Считаем количество областей

else if ( vector [ i ] -> getIntLevel ( ) == 2 )

region++;

//Считаем количество районов

else if ( vector [ i ] -> getIntLevel ( ) == 3 )

district++;

//Считаем количество больших деревень

else if ( vector [ i ] -> getIntLevel ( ) == 4 )

village++;

}

//Вывод различной информации по массиву данных

cout << "Total cities recorded in the balance: " << count << endl;

cout << "The total population of all cities: " << amount << endl;

cout << "The average population of all cities: " << amount / count << "thousand people" << endl;

cout << "The minimum population of the city: " << minPopulation << "thousand people" << endl;

cout << "The maximum population of the city: " << maxPopulation << "thousand people" << endl;

cout << "The number of capitals: " << capital << endl;

cout << "Number of regional centers: " << region << endl;

cout << "Number of regional centers: " << district << endl;

cout << "The number of large villages: " << village << endl;

system("pause");

}

//Инициализация деструктора

variety::~variety ( ){

//Для всех элементов массива

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

//Выполнить удаление текущего элемента из памяти