М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
khinmy
khinmy
18.02.2020 04:33 •  Информатика

Необходимо написать программу, сортирующую случайный массив следующим метод является модификацией пузырьковой сортировки и состоит из двух этапов - подъема и спуска. при подъеме последовательно сравниваются соседние элементы a[i] и a[i+1] до тех пор, пока не будет сделана первая перестановка. пусть эта перестановка затронула элементы a[k] и a[k+1] . следующим этапом является спуск. новый элемент a[k] сравниваются с a[k−1] и если a[k] < a[k−1] , то выполняется перестановка. сравнение продолжается в нисходящем направлении (т.е. для a[k−1] и a[k−2] , a[k−2] и a[k−3] и т.д.) до тех пор, пока выполняются перестановки либо достигается начало массива.
после этого возобновляется подъем с позиции i = k+1. таким образом,
сортировка состоит из сменяющих друг друга процессов подъема (до
первой перестановки) и спуска (до первого отсутствия перестановки) до тех пор, пока при подъеме не будет затронут последний элемент
массива a[n−1] (при этом спуск также должен быть выполнен).

, , написать именно в соответствии с этим условием, язык: питон / паскаль abc, ну главное здесь - алгоритм нужен понятный. важно: должно быть не более 2 циклов (не условных операторов, а именно циклов), неважно какой длины и каких, но не более двух.

👇
Ответ:
тикон3
тикон3
18.02.2020

===== С++ 17 =====

#include <iostream>

using namespace std;

void swap(int &a, int &b)

{

   int t = a;

   a = b;

   b = t;

}

int main()

{

   int n;

   cin >> n;

   int a[n];

   srand(time(NULL));

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

   {

       a[i] = rand() % 198 - 99;

       cout << a[i] << " ";

   }

   cout << endl;

   bool perm = false;

   int j;

   for(int i = 0; i < n - 1; i++)

   {

       if(a[i] > a[i + 1])

       {

           swap(a[i], a[i + 1]);

           j = i;

           perm = true;

           while(perm && (j > 0))

               if(a[j] < a[j - 1])

               {

                   perm = true;

                   swap(a[j], a[j - 1]);

                   j--;

               }

               else perm = false;

       }

   }

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

       cout << a[i] << " ";

   cout << endl;

   return 0;

}


Необходимо написать программу, сортирующую случайный массив следующим метод является модификацией пу
4,4(32 оценок)
Открыть все ответы
Ответ:
sasha07022005
sasha07022005
18.02.2020
Алгоритм перехода дороги.
Дошёл до светлофора - ждёшь зелёный свет - смотришь на лево, если машин нет до идёшь до середины - смотришь на право, если машин нет переходишь дорогу полностью.
Алгоритм похода в магазин.
Взять деньги - выйти с квартиры - закрыть дверь - дойти до магазина - купить нужные предметы - вернуться назад - открыть дверь - зайти обратно в квартиру.
Алгоритм приготовления чаю.
Налить в чайник воду - поставить кипятьтся - подготовить кружку(если нет чистой кружки, то помыть) - кинуть пакетик в чай - воду из чайника вылить в кужку - насыпать сахар - наслаждаться чаем.

Надеюсь проблем с переводом на украинский язык не будет. 
4,4(30 оценок)
Ответ:
alionka7
alionka7
18.02.2020
Если система пятеричная, в ней 5 цифр - от 0 до 4. Но ноль не является натуральным числом, поэтому начнем с единицы.
Итак, 1, 2, 3, 4.
Каждое число получается увеличением значения своего предшественника на единицу.
4+1 = 5, это мы знаем, но цифры 5 в этой системе нет. Так же, как в нашей десятичной системе нет цифры 10 - последняя в ней девятка. А 10 - это сброс разряда в ноль и перенос единички в следующий разряд. Потом будет 1, 2, 3, ..9, и снова перенос 1 со сбросом в 0.
В пятиричной системе - то же самое. После 4 идет сброс в ноль и единичка в старший разряд. Поэтому получаются числа
10, 11, 12, 13, 14
Далее - сброс, плюс единичка в старший, и получим 20.
Все, получено 10 чисел.
Окончательно: 1, 2, 3, 4, 10, 11, 12, 13, 14, 20
4,5(74 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ