Advertisement
Guest User

Fixed

a guest
Nov 22nd, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 28.46 KB | None | 0 0
  1. // Курсова работа (проект) за моделиране на извеждане на простите и непрости числа в зададен интервал
  2. // Програма KR1_Simple numbers.cpp
  3. // Вариантът на програмата е модифициран и реализиран в програмна среда Dev-C++ 5.11 на 64 битова ОС
  4. // Автор: Илиян Стоянов, СИТ, 6а група , ф.номер: 17621763
  5. // Дата: 22.11.2017 год.
  6.  
  7. /*                         ОПИСАНИЕ НА ПРОГРАМАТА
  8. Това е програма за извеждане на всички прости числа между 1 и n,
  9. като n е естествено число, въведено от потребителя.
  10. Програмата е реализирана с динамичен масив и в нея са
  11. използвани цветови ефекти, както и запитване за продължение.
  12. В програмата е създадено меню.
  13. Менюто се състои от 7 опции, има валидация - ако напишеш по малко
  14. или по голямо число от зададените ограничения. Създадени са 6 функции:
  15. в първата функция се извеждат простите числа + въведеното,
  16. в втората функция се извеждат простите числа след това
  17. простите числа повдигнати на втора степен и коренувани.
  18. в третата функция се извеждат непростите числа + въведеното,
  19. в четвъртата функция се извежда информация за програмата,
  20. в петата функция се извежда информация за автора,
  21. а в шестата функция се извежда какво представляват простите числа,
  22. Добавени са анимация на текста, фон в различни цветови гами, цвят на текста,
  23. както и функция за диалога с потребителя на програмата на кирилица.
  24. Във всяка функция има запитване дали да се продължи или да се върне към менюто.
  25. */
  26.  
  27.  
  28.  
  29. #include <iostream>
  30. #include <iomanip>
  31. #include <locale>      // За кирилица
  32. #include <windows.h>
  33. #include <iostream>
  34. #include <cmath>
  35.  
  36. using namespace std;
  37.  
  38. // Прототипи на функции
  39. int prosti_chisla();   // Функция за извеждане на простите числа в зададен интервал
  40. int neprosti();  // Функция за извеждане на непростите числа в зададен интервал
  41. int za_programata();  // Функция за екран с текст за програмата
  42. int avtor(); // Функция за екран с текст за автор
  43. int opisanie();   // Функция за екран с текст който обяснява какво е прости числа
  44. void slowmotion(string text); //ф-я за изписване бавно анимиран текст в/у екрана
  45. int vtora_stepen(); // // Функция за извеждане на простите числа в зададен интервал и след това показва стойността им повдигнати на втора степен
  46.  
  47. int main()
  48. {
  49.     system("mode 120,40"); //размер на прозореца с резултатите
  50.     system("title Програма с меню за показване на всички прости или непрости числа в зададен интервал ");
  51.     SetConsoleOutputCP(1251);
  52.     setlocale(LC_ALL, "BGR"); //за използване на кирилица;
  53.     system("Color 34"); //задаване на цвят на фона и текста
  54.  
  55.     cout << "                        ____                                                                           " << endl;
  56.     cout << "         +==========+   |  |      | *          *|      |===========|      |                  |==========" << endl;
  57.     cout << "         +     ****      |  *        * |      |           |      |                  |          " << endl;
  58.     cout << "         +              ____      |   *      *  |      |           |      |                  |          " << endl;
  59.     cout << "         +     |  |      |    *    *   |      |           |      |                  |          " << endl;
  60.     cout << "         +     |  |      |     *  *    |      |           |      |                  |          " << endl;
  61.     cout << "         +==========+   |  |      |      **     |      |===========|      |                  |==========" << endl;
  62.     cout << "                    +  |  |      |             |      |                  |                  |          " << endl;
  63.     cout << "               +   |  |      |             |      |                  |                  |          " << endl;
  64.     cout << "               +   |  |      |             |      |                  |                  |          " << endl;
  65.     cout << "                    +   |  |      |             |      |                  |                  |          " << endl;
  66.     cout << "         +==========+   ****      |             |      |                  |=============|    |==========" << endl << endl << endl;
  67.  
  68.  
  69.  
  70.     cout << "\t    |*        |   |            |   |*      *|  |========|    |========   |======|  |=======|  " << endl;
  71.     cout << "\t    | *       |   |            |   | *    * |  |        |    |           |      |  |          " << endl;
  72.     cout << "\t    |  *      |   |            |   |  *  *  |  |========|    |           |======|  |          " << endl;
  73.     cout << "\t    |    *    |   |            |   |   **   |  |             |========   |*        |=======|  " << endl;
  74.     cout << "\t    |     *   |   |            |   |        |  |=========|   |           | *               |  " << endl;
  75.     cout << "\t    |      *  |   |            |   |        |  |         |   |           |  *              |  " << endl;
  76.     cout << "\t    |       * |   |            |   |        |  |         |   |           |   *             |  " << endl;
  77.     cout << "\t    |        *|   |____________|   |        |  |=========|   |=========  |    *    |=======|  " << endl;
  78.  
  79.     Sleep(3000);   // Закъснение 3 секунди за прочитане на текста
  80.     system("cls");  //изчистване на екрана
  81.  
  82.  
  83.  
  84.  
  85.     int izbor;
  86.  
  87.  
  88.     do {
  89.         do {
  90.             system("cls");  //изчистване на екрана
  91.             cout << "\n\n\n\n\n\t\t\t\t\t*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*" << endl;   //Менюто което се показва на екрана
  92.             cout << "\t\t\t\t\t*-------------МЕНЮ----------------*" << endl;
  93.             cout << "\t\t\t\t\t*=================================*" << endl;
  94.             cout << "\t\t\t\t\t*                                 *" << endl;
  95.             cout << "\t\t\t\t\t*  1. Прости естествени числа     *" << endl;
  96.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  97.             cout << "\t\t\t\t\t*  2. Аритметични операции върху  *" << endl;
  98.             cout << "\t\t\t\t\t*         прости числа            *" << endl;
  99.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  100.             cout << "\t\t\t\t\t*  3. Непрости естествени числа   *" << endl;
  101.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  102.             cout << "\t\t\t\t\t*  4. За програмата               *" << endl;
  103.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  104.             cout << "\t\t\t\t\t*  5. За автора                   *" << endl;
  105.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  106.             cout << "\t\t\t\t\t*  6. Какво е прости числа        *" << endl;
  107.             cout << "\t\t\t\t\t*---------------------------------*" << endl;
  108.             cout << "\t\t\t\t\t*  7. Изход                       *" << endl;
  109.             cout << "\t\t\t\t\t*=================================*" << endl;
  110.             cout << "\t\t\t\t\t***********************************" << endl;
  111.             cout << endl << "\t\t\t\t\t Въведете вашия избор: ";
  112.             cin >> izbor;
  113.         } while (izbor < 1 || izbor > 7);
  114.  
  115.         switch (izbor)
  116.         {
  117.  
  118.         case 1:
  119.             prosti_chisla();
  120.             break;
  121.  
  122.         case 2:
  123.             vtora_stepen();
  124.             break;
  125.  
  126.         case 3:
  127.             neprosti();
  128.             break;
  129.  
  130.         case 4:
  131.             za_programata();
  132.             break;
  133.         case 5:
  134.             avtor();
  135.             break;
  136.         case 6:
  137.             opisanie();
  138.             break;
  139.         case 7:
  140.             cout << "\n\n\n\t\t\t***********************************************************" << endl;
  141.             cout << "\t\t\t*                                                         *" << endl;
  142.             cout << "\t\t\t*              Благодаря за Вниманието !!!                *" << endl;
  143.             cout << "\t\t\t*                                                         *" << endl;
  144.             cout << "\t\t\t***********************************************************" << endl;
  145.             cout << "\t\t\t*                                                         *" << endl;
  146.             cout << "\t\t\t*         Дано бъде оценено с повечко точки :D            *" << endl;
  147.             cout << "\t\t\t*                                                         *" << endl;
  148.             cout << "\t\t\t***********************************************************" << endl;
  149.             cout << "\t\t\t*                                                         *" << endl;
  150.             cout << "\t\t\t*    Ще излезете от програмата след няколко секунди....   *" << endl;
  151.             cout << "\t\t\t*                                                         *" << endl;
  152.             cout << "\t\t\t***********************************************************" << endl;
  153.  
  154.             Sleep(2000);  // Закъснение 2 секунди за прочитане текста на екрана
  155.             exit(0);
  156.  
  157.         }
  158.     } while (izbor != 7);
  159.  
  160.     cout << system("PAUSE") << endl;
  161.  
  162.     return 0;
  163. }
  164.  
  165. // Функция за извеждане на простите числа в зададен интервал
  166. int prosti_chisla()
  167. {
  168.     // Извеждане на заглавие на обработката в програмата
  169.     system("title Извеждане на прости числа в зададен интервал");
  170.     system("color F1");                  // Цветови ефект
  171.     system("cls");
  172.  
  173.     int n, i, j;    // n - за задаване на най-голямо число
  174.     char c;         // За запитване за продължение с нова стойност на n
  175.     do              // Цикъл със запитване за продължение с нова стойност на n
  176.     {
  177.         // Запитване на потребителя за горна граница на интервала от прости числа
  178.         do {
  179.             char text[] = { "\n\t Моля, въведете число n за интервал от прости числа - до 10000: " };
  180.             for (int i = 0; i < strlen(text); i++)
  181.             {
  182.                 cout << text[i];
  183.                 Sleep(50);
  184.             }
  185.             cin >> n;
  186.         } while (n < 0);
  187.  
  188.         int *a = new int[n];        // Създаване на динамичен масив с размер n
  189.         if (a == NULL)              // Проверка за евентуално препълване на паметта
  190.             cout << " \n\t Недостатъчна памет!";
  191.         else                         // Алгоритъм при нормално изпълнение на програмата
  192.         {
  193.             cout << "\n\t Простите числа от 1 до " << n << " са: \n"; // Подсказващ текст
  194.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  195.             for (i = 2; i <= n; i++)  *(a + i) = 1; // Всички елементи приемат стойност 1 (естествени числа)
  196.             for (i = 2; i <= n; i++)
  197.                 if (*(a + 1))                 // Установяват се всички елементи от масива, чиито индекси
  198.                     for (j = i; i*j <= n; j++)  // са кратни на вече намерените прости числа = 0 (1,2 и 3
  199.                         *(a + i*j) = 0;       // са прости числа). По този начин се изключват тези
  200.                                               // числа от множеството прости, които имат делители.
  201.             int k = 0;                        // За извеждане по 15 прости числа в един ред
  202.             for (i = 1; i <= n; i++)           // Извеждане на простите числа
  203.                 if (*(a + i))
  204.                 {
  205.                     cout << setw(4) << "|" << i << "|";    // Извеждат се на екрана всички числа, които не са 0
  206.                     Sleep(100);              // Закъснение 100 милисекунди - за анимация
  207.                     if (++k % 11 == 0)cout << endl;   // Преминаване на нов ред след 15 числа
  208.                 }
  209.             cout << endl;
  210.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  211.             int min = 10000, max = 0;
  212.            
  213.             for (i = 1; i <= n; i++) {
  214.                 if (*(a + i)) {
  215.                     if (min > i)
  216.                         min = i;
  217.  
  218.                     if (max < i)
  219.                         max = i;
  220.                 }
  221.             }
  222.  
  223.             cout << "Min element: " << min << " | Max element: " << max;
  224.         }
  225.  
  226.        
  227.         delete[] a;     // Освобождаване (изтриване) на динамичния масив
  228.  
  229.         char text[] = { "\n\n\t Желаете ли да въведете друго число n? (Y/N) " };// Запитване за продължение
  230.         for (int c1 = 0; c1<strlen(text); c1++)   // Цикъл за анимация на текста
  231.         {
  232.             cout << text[c1];
  233.             Sleep(50);                     // Закъснение - 50 милисекунди
  234.         }
  235.         cin >> c;
  236.     } while (c == 'Y' || c == 'y');    // Условие за продължение
  237.  
  238.     if (c == 'n' || c == 'N')
  239.     {
  240.         cout << endl;
  241.         return main();
  242.     }
  243.  
  244. }
  245.  
  246. // Функция за извеждане на непростите числа в зададен интервал
  247. int neprosti()
  248. {
  249.     // Извеждане на заглавие на обработката в програмата
  250.     system("title Извеждане на непрости числа в зададен интервал");
  251.     system("color B0");                  // Цветови ефект
  252.     system("cls");
  253.  
  254.     int n, i, j;    // n - за задаване на най-голямо число
  255.     char c;         // За запитване за продължение с нова стойност на n
  256.     do              // Цикъл със запитване за продължение с нова стойност на n
  257.     {
  258.         // Запитване на потребителя за горна граница на интервала от непрости числа
  259.         do {
  260.             char text[] = { "\n\t Моля, въведете число n за интервал от непрости числа - до 10000: " };
  261.             for (int i = 0; i < strlen(text); i++)
  262.             {
  263.                 cout << text[i];
  264.                 Sleep(50);
  265.             }
  266.             cin >> n;
  267.         } while (n < 0);
  268.  
  269.         int *a = new int[n];        // Създаване на динамичен масив с размер n
  270.         if (a == NULL)              // Проверка за евентуално препълване на паметта
  271.             cout << " \n\t Недостатъчна памет!";
  272.         else                         // Алгоритъм при нормално изпълнение на програмата
  273.         {
  274.             cout << "\n\t Непростите числа от 1 до " << n << " са: \n"; // Подсказващ текст
  275.             cout << "    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" << endl;
  276.             for (i = 2; i <= n; i++)  *(a + i) = 1; // Всички елементи приемат стойност 1 (естествени числа)
  277.             for (i = 2; i <= n; i++)
  278.                 if (*(a + 1))                 // Установяват се всички елементи от масива, чиито индекси
  279.                     for (j = i; i*j <= n; j++)  // са кратни на вече намерените прости числа = 0 (1,2 и 3
  280.                         *(a + i*j) = 0;       // са прости числа). По този начин се изключват тези
  281.                                               // числа от множеството прости, които имат делители.
  282.             int k = 0;                        // За извеждане по 15 непрости числа в един ред
  283.             for (i = 2; i <= n; i++)          // Извеждане на непростите числа
  284.                 if (*(a + i) == 0)
  285.                 {
  286.                     cout << setw(5) << "|" << i << "|";    // Извеждат се на екрана всички числа, които не са прости
  287.                     Sleep(100);              // Закъснение 100 милисекунди - за анимация
  288.                     if (++k % 10 == 0)cout << endl;   // Преминаване на нов ред след 15 числа
  289.                 }
  290.             cout << endl;
  291.             cout << "    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" << endl;
  292.            
  293.             int min = 10000, max = 0;
  294.  
  295.             for (i = 2; i <= n; i++) {
  296.                 if (*(a + i) == 0) {
  297.                     if (min > i)
  298.                         min = i;
  299.  
  300.                     if (max < i)
  301.                         max = i;
  302.                 }
  303.             }
  304.  
  305.             cout << "Min element: " << min << " | Max element: " << max;
  306.         }
  307.         delete[] a;     // Освобождаване (изтриване) на динамичния масив
  308.  
  309.         char text[] = { "\n\n\t Желаете ли да въведете друго число n? (Y/N) " };// Запитване за продължение
  310.         for (int c1 = 0; c1<strlen(text); c1++)   // Цикъл за анимация на текста
  311.         {
  312.             cout << text[c1];
  313.             Sleep(50);                     // Закъснение - 50 милисекунди
  314.         }
  315.         cin >> c;
  316.     } while (c == 'Y' || c == 'y');    // Условие за продължение
  317.  
  318.     if (c == 'n' || c == 'N')
  319.     {
  320.         cout << endl;
  321.         return main();
  322.     }
  323.  
  324. }
  325.  
  326. // Функция за екран с текст за програмата
  327. int za_programata()
  328. {
  329.     system("Color E5");
  330.     system("cls");
  331.  
  332.  
  333.     cout << "\n\n\n\n\t\t=========================================================================================";
  334.     slowmotion("\n\t\t| В програмата е създадено меню.                         |");
  335.     slowmotion("\n\t\t| Менюто се състои от 7 опции, има валидация - ако напишеш по малко         |");
  336.     slowmotion("\n\t\t| или по голямо число от зададените ограничения. Създадени са 6 функции:     |");
  337.     slowmotion("\n\t\t| в първата функция се извеждат простите числа + въведеното,              |");
  338.     slowmotion("\n\t\t| в втората функция се извеждат простите числа след това                |");
  339.     slowmotion("\n\t\t| простите числа повдигнати на втор степен и коренувани.                |");
  340.     slowmotion("\n\t\t| в следващата функция се извеждат непростите числа + въведеното,            |");
  341.     slowmotion("\n\t\t|  в четвъртата функция се извежда информация за програмата,             |");
  342.     slowmotion("\n\t\t|  в петата функция се извежда информация за автора,                 |");
  343.     slowmotion("\n\t\t|  а в шестата функция се извежда какво представляват простите числа,         |");
  344.     slowmotion("\n\t\t| Добавени са анимация на текста, фон в различни цветови гами, цвят на текста,       |");
  345.     slowmotion("\n\t\t| както и функция за диалога с потребителя на програмата на кирилица.         |");
  346.     slowmotion("\n\t\t| Във всяка функция има запитване дали да се продължи или да се върне към менюто. |");
  347.     cout << "\n\t\t=========================================================================================";
  348.  
  349.     Sleep(3000);
  350.     cout << endl << endl << endl;
  351.     return main();
  352.  
  353. }
  354. // Функция за екран с текст за автор
  355. int avtor()
  356. {
  357.     system("Color F4"); //задаване на цвят на фона и текста
  358.     char str[] = { "\n\n\n\t\t\t\t\t  Автор на програмата: \n\n"
  359.         "\t\t\t\t\t          Име: Илиян  \n"
  360.         "\t\t\t\t\t      Презиме: Владимиров \n"
  361.         "\t\t\t\t\t      Фамилия: Стоянов \n"
  362.         "\t\t\t\t\t  Специалност: СИТ \n"
  363.         "\t\t\t\t\t        Група: 6а \n"
  364.         "\t\t\t\t\t Факултетен №: 17621763 \n"
  365.     };
  366.  
  367.     for (int i = 0; i < strlen(str); i++)
  368.     {
  369.         cout << str[i];  // Извеждане информация на екрана за автора
  370.         Sleep(20);
  371.  
  372.     }
  373.     Sleep(2000);   // Закъснение 3 секунди за прочитане на текста
  374.     return main();
  375. }
  376.  
  377.  
  378.  
  379. int opisanie()    // Функция за екран с текст който обяснява какво е прости числа
  380. {
  381.     system("Color 84");
  382.     system("cls");
  383.  
  384.  
  385.     cout << "\n\n\n\n\t=================================================================================================";
  386.     slowmotion("\n\t| В математиката просто число се нарича всяко естествено число, по-голямо от 1,           |");
  387.     slowmotion("\n\t| което има точно два естествени делителя – 1 и самото себе си. Например 5 е просто,        |");
  388.     slowmotion("\n\t| защото се дели единствено на 1 и 5, докато 6 не е, защото се дели освен на 1 и 6 и на 2 и 3.    |");
  389.     slowmotion("\n\t| Естествените числа, по-големи от едно, които не са прости, се наричат съставни.        |");
  390.     slowmotion("\n\t| Числата нула и едно не са нито прости, нито съставни.                   |");
  391.     slowmotion("\n\t| Простите числа са един от основните обекти, които се изучават от теорията на числата.       |");
  392.     cout << "\n\t\t=================================================================================================";
  393.  
  394.     Sleep(3000);
  395.     cout << endl << endl << endl;
  396.     return main();
  397. }
  398.  
  399. void slowmotion(string text)   //ф-я за изписване бавно анимиран текст в/у екрана
  400. {
  401.  
  402.     int p = 0;
  403.  
  404.     p = text.length();
  405.     for (int i = 0; i<p; i++)
  406.     {
  407.         cout << text[i];
  408.         Sleep(55);
  409.     }
  410. }
  411.  
  412.  
  413. int vtora_stepen()
  414. {
  415.     // Извеждане на заглавие на обработката в програмата
  416.     system("title Извеждане на прости числа в зададен интервал");
  417.     system("color 2E");                  // Цветови ефект
  418.     system("cls");
  419.  
  420.     int n, i, j;    // n - за задаване на най-голямо число
  421.     char c;         // За запитване за продължение с нова стойност на n
  422.     do              // Цикъл със запитване за продължение с нова стойност на n
  423.     {
  424.         // Запитване на потребителя за горна граница на интервала от прости числа
  425.         do {
  426.             char text[] = { "\n\t Моля, въведете число n за интервал от прости числа - до 10000: " };
  427.             for (int i = 0; i < strlen(text); i++)
  428.             {
  429.                 cout << text[i];
  430.                 Sleep(50);
  431.             }
  432.             cin >> n;
  433.         } while (n < 0);
  434.  
  435.         int *a = new int[n];        // Създаване на динамичен масив с размер n
  436.         if (a == NULL)              // Проверка за евентуално препълване на паметта
  437.             cout << " \n\t Недостатъчна памет!";
  438.         else                         // Алгоритъм при нормално изпълнение на програмата
  439.         {
  440.             cout << "\n\t Простите числа от 1 до " << n << " са: \n"; // Подсказващ текст
  441.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  442.             for (i = 2; i <= n; i++)  *(a + i) = 1; // Всички елементи приемат стойност 1 (естествени числа)
  443.             for (i = 2; i <= n; i++)
  444.                 if (*(a + 1))                 // Установяват се всички елементи от масива, чиито индекси
  445.                     for (j = i; i*j <= n; j++)  // са кратни на вече намерените прости числа = 0 (1,2 и 3
  446.                         *(a + i*j) = 0;       // са прости числа). По този начин се изключват тези
  447.                                               // числа от множеството прости, които имат делители.
  448.             int k = 0;                        // За извеждане по 15 прости числа в един ред
  449.             for (i = 1; i <= n; i++)           // Извеждане на простите числа
  450.                 if (*(a + i))
  451.                 {
  452.                     cout << setw(5) << "|" << i << "|";    // Извеждат се на екрана всички числа, които не са 0
  453.                     Sleep(100);              // Закъснение 100 милисекунди - за анимация
  454.                     if (++k % 11 == 0)cout << endl;   // Преминаване на нов ред след 15 числа
  455.                 }
  456.             cout << endl;
  457.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  458.             cout << endl;
  459.             cout << "   Tова са стойностите на простите числа повдигнати на втора степен !!!" << endl;
  460.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  461.             for (i = 1; i <= n; i++)           // Извеждане на простите числа
  462.                 if (*(a + i))
  463.                 {
  464.                     cout << setw(5) << "|" << i*i << "|";    // Извеждат се на екрана всички числа, които не са 0
  465.                     Sleep(100);              // Закъснение 100 милисекунди - за анимация
  466.                     if (++k % 11 == 0)cout << endl;   // Преминаване на нов ред след 15 числа
  467.                 }
  468.             cout << endl;
  469.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  470.             cout << endl;
  471.             cout << "   Tова са стойностите на простите числа под корен!!!" << endl;
  472.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  473.             for (i = 1; i <= n; i++)           // Извеждане на простите числа
  474.                 if (*(a + i))
  475.                 {
  476.                     cout << setw(5) << "|" << sqrt(i) << "|";    // Извеждат се на екрана всички числа, които не са 0
  477.                     Sleep(100);              // Закъснение 100 милисекунди - за анимация
  478.                     if (++k % 7 == 0)cout << endl;   // Преминаване на нов ред след 15 числа
  479.                 }
  480.             cout << endl;
  481.             cout << "   -------------------------------------------------------------------------------------------------------------------" << endl;
  482.         }
  483.         delete[] a;     // Освобождаване (изтриване) на динамичния масив
  484.  
  485.         char text[] = { "\n\n\t Желаете ли да въведете друго число n? (Y/N) " };// Запитване за продължение
  486.         for (int c1 = 0; c1 < strlen(text); c1++)   // Цикъл за анимация на текста
  487.         {
  488.             cout << text[c1];
  489.             Sleep(50);                     // Закъснение - 50 милисекунди
  490.         }
  491.         cin >> c;
  492.     } while (c == 'Y' || c == 'y');    // Условие за продължение
  493.  
  494.     if (c == 'n' || c == 'N')
  495.     {
  496.         cout << endl;
  497.         return main();
  498.     }
  499.  
  500. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement