В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Кто пес неголапр горапен иролшенгапрол

Показать ответ
Ответ:
egorfadeev02
egorfadeev02
29.10.2021 03:23
//GNU C++ compiler
#include <bits/stdc++.h>

using namespace std;

int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
/* ввод и вывод из файла, если не нужно можно смело стирать. ну или закомментить*/
int n;
cin >> n;
vector<int> a(n);
/* предпологаю что у нас числа, при желании тип данных можно поменять */
for( int i = 0; i < n; i++)
cin >> a[i];
sort( a.begin(), a.end() );
while( next_permutation(a.begin(), a.end()) )
{
for( int i = 0; i < n; i++)
cout << a[i] << " ";
cout << "\n";
}
return 0;
}
/*если я правильно понял задачу, то это нужное решение. задача NP-полная факториальной сложности. 10 чисел отработает ±быстро(порядка секунды), для 11 можно получить результат немного подождав(около 10 секунд), для 12 лучше набраться терпения(порядка 2 минут). 13(20-30 минут) и дальше лучше не пробовать
ввод использовал медленный, т.к. в нашем случае это капля в море
могут быть опечатки, печатал с телефона*/
0,0(0 оценок)
Ответ:
ivanochka02kasik
ivanochka02kasik
29.10.2021 16:11

#include <iostream>

#include <ctime>

using namespace std;

int main()

{

   setlocale(LC_CTYPE, "Rus");

   srand(time(0));

   int n,min=RAND_MAX,nl=0, j = 0;

   cout << "Размер массива: "; cin >> n;

   int *a = new int[n];

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

      a[i] = rand() % 10;

      cout << a[i] << ' ';

      if ((a[i] < min)&&((i+1)%2!=0)) min = a[i];

   }

   for (int i = 0; i < n; i++) if (a[i] == min) nl++;

   cout << endl;

   while (j < n-nl)

      if (a[j] == min)

          for (int i = j; i < n - 1; i++) swap(a[i], a[i + 1]);

      else j++;

   for (int i = 0; i < n - nl; i++) cout << a[i] << ' ';

   cout << endl;


   system("pause");

   return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота