//XCODE #include #include #include #include #include int e_c_c = 0; int i_c_c = 0; int n_o_s = 0; void bubble_sort(long *mas,long n) { e_c_c = 0; i_c_c = 0; n_o_s = 0; for(int i = 1; i < n; ++i) { e_c_c++; for(int j = 0; j < n - i; ++j) { i_c_c++; if(mas[j]>mas[j+1]) { std::swap(mas[j+1],mas[j]); n_o_s++; } } } } void print_mas(long *mas,long n) { std::cout << "Sorted mas: "; for (int i = 0; i < n; i++) { std::cout << mas[i] << " "; } std::cout << std::endl; std::cout << "External cycles: " << e_c_c << std::endl; std::cout << "Internal cycles: " << i_c_c << std::endl; std::cout << "Number of swaps: " << n_o_s << std::endl; } int main(int argc, const char * argv[]) { long n,k,buf; bool ch; bool per = false; std::srand(std::time(0)); do { std::cout<<"Input N:"; std::cin>>n; if (std::cin.fail()) { std::cin.clear(); std::cin.ignore(INT_MAX, '\n'); } } while(n <= 0); do { std::cout<<"If you want random generation - input 1\n If you want hand-made generation - input 0\n"; std::cin>>ch; if (std::cin.fail()) { std::cin.clear(); std::cin.ignore(INT_MAX, '\n'); } } while(ch != 0 && ch != 1); long* mas = new long[n]; for(int i = 0; i>mas[i]; if (std::cin.fail()) { std::cin.clear(); std::cin.ignore(INT_MAX, '\n'); } break; case 1: mas[i] = rand(); break; default: break; } } for (int i = 0; i mas[j+1]) { long b = mas[j]; mas[j] = mas[j+1]; mas[j+1] = b; per = true; } } if(per==false){ break; } } for (int i = 0; i