Текст программы с комментариями

// 5_3.cpp: Задание 3

 

 

#include <iostream>

#include <ctime>

using namespace std;

 

 

/*

 * Запрашивает номер программы

 * Возвращает номер программы

 */

int response()

{

       int response;

 

       cout << "Введите номер программы: ";

       cin >> response;

       cout << endl;

 

       return response;

}

 

 

/*

 * Процедура генерации целлочисленного массива с заданным диапазоном

 */

void arrGen(int* arr, int n)

{

       int a;

       int b;

 

       do {

                   cout << "Введите левую границу диапазона случайных чисел: ";

                   cin >> a;

                   cout << "Введите правую границу диапазона случайных чисел: ";

                   cin >> b;

 

                   if (a > b)

                   {

                               cout << endl << "Выввели некорректный диапазон, попробуйте ещё раз!" << endl << endl;

                   }

 

       } while (a > b);

 

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

       {

                   arr[i] = a + rand() % b;

       }

}

 

/*

 * Процедура вывода целочисленного массива

 */

void arrOut(int* arr, int n)

{

       cout << endl << "Вывод массива: " << endl;

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

       {

                   cout << arr[i] << "\t";

       }

 

       cout << endl << endl;

}

 

 

/*

 * Процедура сортирует n элементов массива по возрастанию методом "вставка-сдвиг" и выводит массив

 */

void sortAscending(int* arr, int n)

{

       int old;

       int g = 0;

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

       {

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

                   {

                               if ((arr[i] > arr[j]))

                               {

                                           old = arr[j];

                                           for (int h = j - 1; h >= i; h--)

                                           {

 

                                                                   arr[h + 1] = arr[h];

 

                                           }

                                           arr[i] = old;

                               }

                   }

       }

 

       arrOut(arr, n);

}

 

/*

 * Решение индивидуальной задачи

 * Ничего не возвращает

 */

void program_3()

{

       int n;

 

       cout << "Введите кол-во элементов в массиве: ";

       cin >> n;

       cout << endl;

 

       int* arr = new int[n];

 

       // Генерация массива

       arrGen(arr, n);

 

       // Вывод массива

       arrOut(arr, n);

 

       // Логика программы

       sortAscending(arr, n);

}

 

void main()

{

       setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали

 

       int number;

       do

       {

                   number = response();

                   switch (number)

                   {

                   case 0:

                   {

                               break;

                   }

 

                   case 1:

                   {

                               break;

                   }

 

                   case 2:

                   {

                               break;

                   }

 

                   case 3:

                   {

                               program 3();

                               break;

                   }

 

                   default:

 

                               cout << "Такой программы не существует! Попробуйте ещё раз!" << endl << endl;

                               break;

              }

       } while (number!= 0);

}

 

5. Контрольный пример:



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



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