C/C++

Код программы на С++))))

Реализовать пользовательское приложение со следующим функционалом:
● программа должна производить сортировку массива двумя разными способами;
● начальный массив формируется из случайных чисел;
● на экран выводятся исходный и конечный массив;
● выход производится при выборе соответствующего пункта меню.
Порядок выполнения работы:
Огласить массив из 100 элементов в разделе описания переменных.
В основном блоке программы заполнить массив случайными числами в интервале [0…99].
Вывести на экран заполненный массив, разместив элементы в виде таблицы 10x10.
Вывести меню из трех пунктов:
1) сортировка методом пузыря;
2) сортировка методом выбора;
3) выход.
Сделать обработку всех пунктов меню, воспользовавшись оператором case или оператором if и командами языка С++(goto, exit(0)).
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#define n 100
using namespace std;
string red = "\033[31m", green = "\033[32m",
yellow = "\033[33m", blue = "\033[34m",
magenta = "\033[35m", biruze = "\033[36m";
void print(int x[])
{ int i, j = 0; for (i = 0; i < n; i++)
{ j++; cout << setw(3) << x[i];
if (j == 10) { j = 0; cout << endl; } }
if (j) cout << endl; }
void next()
{ for (int i = 0; i < 30; i++) cout << blue
<< '='; cout << endl; }
int main()
{ int i, j, a[n], min, index; string s;
srand(time(NULL)); next(); for (;;)
{ for (i = 0; i < n; i++) a[i] = rand() % 100;
cout << biruze; print(a); again: cout << green
<< "bubble choice exit " << blue; getline(cin, s);
if (s == "exit") { cout << yellow; return 0; }
if (s == "bubble") { for (i = 1; i < n; i++)
for (j = n - 1; j >= i; j--) if (a[j - 1] > a[j])
swap(a[j - 1], a[j]); cout << magenta;
print(a); next(); cout << endl; }
else if (s == "choice") { for (i = 0; i < n; i++)
{ min = a[i]; index = i; for (j = i + 1; j < n; j++)
{ if (a[j] < min) { min = a[j]; index = j; } }
swap(a[i], a[index]); } cout << magenta;
print(a); next(); cout << endl; }
else if (s == "exit") { cout << yellow; return 0; }
else { cout << red << "What?" << endl; goto again; } } }
P.S. Для создания такого простого консольного приложения всей работы (со всем кодингом, дебаггингом и тестированием) примерно минут на двадцать, да и то если не меньше...
❁ ✾ ❁ ✾ ❁ ✾ ❁
СК
Саша Кузнецов
66 572
Лучший ответ
Станислав Баев Можешь сказать пожалуйста, где искать кодировки цветов для С++?
оТЛИЧНАЯ ЗАДАЧА - ЭТАК НА ТРОЕ СУТОК...
Максим Тилин
Максим Тилин
71 963