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

Вася изучил алгоритм сортировки пузырьком по неубыванию. он решил реализовать его для массива целых чисел [13, 18, 7, 4, 10, 14, 15, 17, 2, 5, 9, 16, 11, 3, 20, 6, 19, 12, 8, 1] так: выбираем два случайных соседних элемента в массиве, если левый больше правого, меняем их местами, иначе ничего не делаем. из любопытства, после каждого обмена он выводил новый массив на экран. через какое-то время на экране оказался массив [4, 7, 2, 5, 10, 9, 13, 11, 3, 14, 6, 15, 12, 8, 1, 16, 17, 18, 19, 20], а компьютер завис. сколько операций обмена было сделано за время работы программы? в качестве ответа укажите одно натуральное число, например, 100. пример. пусть был массив [5, 4, 3, 2, 1], а через некоторое время появился массив [4, 5, 3, 1, 2]. тогда за время работы программы было сделано две операции обмена — поменялись местами числа 5 и 4 и числа 2 и 1.

👇
Ответ:
camcalol
camcalol
15.01.2022
Назовём инверсией пару элементов массива, в котором элемент с меньшим номером больше элемента с большим номером. Заметим, что после каждого обмена число инверсий в массиве уменьшается на 1. Тогда, посчитав число инверсий до работы программы и после, и вычтя из первого второе, мы получим число операций обмена.

Массив небольшой, и можно подсчитывать инверсии как угодно.

python 3.5:
before = [13, 18, 7, 4, 10, 14, 15, 17, 2, 5, 9, 16, 11, 3, 20, 6, 19, 12, 8, 1] 
after =  [4, 7, 2, 5, 10, 9, 13, 11, 3, 14, 6, 15, 12, 8, 1, 16, 17, 18, 19, 20]
 
def countInversions(arr):
  counter = 0
  for i in range(len(arr) - 1):
    for j in range(i + 1, len(arr)):
      if arr[i] > arr[j]:
        counter += 1
  return counter
  
print(countInversions(before) - countInversions(after))

ответ: 60.
4,7(100 оценок)
Открыть все ответы
Ответ:
hdblin530
hdblin530
15.01.2022
Вариант 11 Дядя Федор, кот Матроскин и пес Шарик летом жили в Простоквашино, а папа с мамой слали им письма, посылки, телеграммы и бандероли, которые доставлял почтальон Печкин. Каждое письмо весило в среднем 100 г, каждая посылка - 5 кг, каждая телеграмма - 50 г, каждая бандероль - 500 г. Дядя Федор получил 10 писем, 2 посылки, 10 телеграмм и 1 бандероль. Кот Матроскин получил 4 письма, 1 посылку, 2 телеграммы и 1 бандероль. Пес Шарик не получил ни одного письма, ни одной телеграммы, зато получил 4 посылки и 2 бандероли.Построить электронную таблицу, из которой будет видно: сколько и какой почты получил каждый из трех жителей Про-стоквашино; сколько килограммов почты получил каждый из трех простоквашинпев; сколько весила вся доставленная Печкиным почта одного вида; какой общий груз пришлось перенести почтальону Печкину.  смотри хls
Решить одну из , и сделать таблицу по информатике вариант 11 дядя федор, кот матроскин и пес шарик л
4,5(98 оценок)
Ответ:
burch123
burch123
15.01.2022

#include <iostream>

#include <vector>

using namespace std;

void solve(){

   int m,n;

   cin >> m >> n;

   vector<vector<int>> a(m,vector<int>(n));

   vector<bool> b(m, true);

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

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

           cin >> a[i][j];

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

       for(int j = 1; j < n; j++)

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

               b[i] = false;

   for(auto i : b) cout << i << " ";

}

signed main(){

   solve();

}

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