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

РЕШИТЕ ЗАДАЧУ НА С++ Определите, сколько обменов сделает алгоритм пузырьковой сортировки по возрастанию для данного массива.

Формат входных данных
На первой строке дано целое число n (1≤n≤1000) — количество элементов в массиве. На второй строке — сам массив. Гарантируется, что все элементы массива — различные целые числа, не превышающие по модулю 109.

Формат выходных данных
Выведите одно число –– количество обменов пузырьковой сортировки.

входные данные
3
1 2 3

2
2 1

4
4 1 5 3
выходные данные
0

1

3

👇
Ответ:
MrFear41
MrFear41
05.06.2023

#include <algorithm>

#include <iostream>

#include <random>

#include <vector>

 

void fillVector(std::vector<int>&, int lowerBound, int upperBound);

void print(const std::vector<int>&);

 

int main() {

 

   std::vector<int> vec { };

   std::size_t size { 0 };

 

   std::cout

       << "Please, enter the number of elements: ";

   std::cin

       >> size;

 

   if (size < 1 || size > 1000) {

 

       std::cerr

           << "The size must be in the range [1; 1000]" << std::endl;

 

       return 1;

 

   }

 

   vec.resize(size);

 

   fillVector(vec, 0, 100);

   print(vec);

 

   std::size_t changes { 0 };

 

   for (std::size_t i { 0 }; i < vec.size() - 1; ++i) {

 

       int tempValue { 0 };

 

       for (std::size_t j { i + 1 }; j < vec.size(); ++j) {

 

           if (vec.at(i) > vec.at(j)) {

 

               tempValue = vec.at(i);

               vec.at(i) = vec.at(j);

               vec.at(j) = tempValue;

 

               ++changes;

 

           }

 

       }

 

   }

 

   print(vec);

 

   std::cout

       << "Number of changes: " << changes << std::endl;

 

   return 0;

 

}

 

void fillVector(std::vector<int>& vec, int lowerBound, int upperBound) {

 

   std::random_device rd;

   std::mt19937 gen(rd());

   std::uniform_int_distribution<int> dist(lowerBound, upperBound);

 

   int randomValue { };

 

   for (auto& value : vec) {

 

       while (true) {

 

           randomValue = dist(gen);

       

           if ( std::find( vec.begin(), vec.end(), randomValue) == vec.end() ){

       

               value = randomValue;

               break;

       

           }

 

       }

 

   }

 

}

 

void print(const std::vector<int>& vec) {

 

   for (const auto value : vec) {

 

       std::cout

           << value << " ";

 

   }

 

   std::cout

       << std::endl;

 

}

4,4(9 оценок)
Открыть все ответы
Ответ:
kulagindemid20
kulagindemid20
05.06.2023

имя существительное.

я помню, как я сидела на уроках языка, и учитель рассказывал, что такое словообразование.

на следующий день я, к своему огорчению, не сделала . а оно было: выучить правило, что же такое это самое словообразование.

когда меня вызвали к доске, я вспомнила начало: имя словообразование - это исходная часть а дальше забыла. но тогда был счастливый день, я и я вспомнила, и сказала:

"словообразование- это образование новых слов от похожих. например, работа - работник. и работник, это слово, которое образовалось с словообразования"

учительница поставила мне 5 (или какая у вас самая высокая и я довольная пошла домой.

из того дня я поняла одно: даже если я не знаю четко правило, можно пересказать его своими словами, и все получиться.

4,7(84 оценок)
Ответ:
Неко6тян
Неко6тян
05.06.2023

ответ: [35;40]

Объяснение:

Логическое ИЛИ истинно, если истинно хотя бы одно утверждение.

Введем обозначения:

 

(x ∈А) ≡ A; (x ∈ P) ≡ P; (x ∈ Q) ≡ Q; (x ∈ R) ≡ R.

 

Применив преобразование импликации, получаем:

 

¬P∨Q∨¬A∨R

 

¬P∨Q∨R истинно тогда, когда x∈(– ∞,15);(25,∞). Выражение ¬A должно быть истинно на интервале [15;25]. Поскольку все выражение должно быть истинно для ЛЮБОГО x, следовательно, выражение A должно быть истинно на промежутке, не включающем отрезок [15;25].

 

Из всех отрезков только отрезок [35;40] удовлетворяет этому условию.

4,7(15 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ