#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
int main()
{
srand(time(0));
int n,k;
std::cin>>n>>k;
int arr[n];
for (int i=0; i<n; i++)
{
arr[i] = i+1;
}
int SIZE = sizeof(arr) / sizeof(*arr);
std::random_shuffle(arr, arr + SIZE );
for(int i=0; i<k; i++)
for(int j=0; j<n-1; j++)
if(arr[j]>arr[j+1])
std::swap(arr[j], arr[j+1]);
for (int i = 0; i < SIZE; ++i)
std::cout << arr[i]<<" ";
}
Поделитесь своими знаниями, ответьте на вопрос:
Постройте график функции у=sin(x)/x на отрезке [-10; 10] с шагом 0, 5
Объяснение:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUSSIAN");
const int n = 5; // (1≤N≤1000)
int mass[n] = { 5, 4, 3, 2, 1 };
int k = 0;
cout << "Исходный массив: ";
for (int i = 0; i < n; ++i)
{
cout << mass[i] << " ";
}
cout << endl;
for (int i = 1; i < n; i++) {
for (int j = 0; j < n-1; j++) {
if (mass[j] > mass[j + 1]) {
int b = mass[j]; // создали дополнительную переменную
mass[j] = mass[j + 1]; // меняем местами
mass[j + 1] = b; // значения элементов
k++;
}
}
}
cout << "Отсортированный массив: ";
for (int i = 0; i < n; ++i)
{
cout << mass[i] << " ";
}
cout << endl << "Kоличество обменов: " << k << endl;
system("pause");
return 0;
}