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

C++Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует не выводить ничего.

Входные данные
На первой строке дано число (1 ≤ N ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109.

Выходные данные
В выходной файл выведите строки (по количеству вставок) по N чисел каждая.

Примеры
входные данные
2
2 1
выходные данные
1 2
входные данные
4
2 1 5 3
выходные данные
1 2 5 3
1 2 3 5

👇
Ответ:
Zhuravl220
Zhuravl220
17.09.2021
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует ничего не выводить.

Формат входных данных

На первой строке дано целое число n (1≤n≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9.
Формат выходных данных

В выходной файл выведите строки (по количеству вставок) по n чисел каждая.

Задачу то я решил, вот только тестирующая система говорит, что слишком много написано
Correct
1 2 2 1 2 1
1 1 2 2 2 1
1 1 1 2 2 2

Output
1 2 2 1 2 1
1 2 1 2 2 1
1 1 2 2 2 1
1 1 2 2 1 2
1 1 2 1 2 2
1 1 1 2 2 2
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include
#include
using namespace std;
int main(){
int n;
cin >> n;
vector a;
for (int i = 0; i < n; i++){
int b;
cin >> b;
a.push_back(b);
}
for (int i = 1; i < n; i++){
for (int j = i; j > 0; j--){
if (a[j - 1] > a[j]){
swap(a[j], a[j - 1]);
for (auto now : a){
cout << now << " ";
}
cout << "\n";
}
else{
break;
}
}
}
return 0;
}
4,5(3 оценок)
Открыть все ответы
Ответ:
Заменим символы операций на более привычные (логическое сложение на сложение, логическое умножение - на умножение), но будем помнить, что все же это не арифметика, хотя и тут умножение "старше" сложения и выполняется первым.
x=19+17*13+22*14
1) 17₁₀*13₁₀
17₁₀ = 10001₂; 13₁₀=01101₂
Правила умножения поразрядно: 1*1=1, иначе 0
 10001
*01101

 00001 = 1₂
2) 19₁₀+1₂
19₁₀=10011₂
Правила сложения поразрядно: 0+0=0, иначе 1
  10011
+00001

  10011
3) 22₁₀*14₁₀
22₁₀=10110₂; 14₁₀=01110₂
 10110
*01110

 00110
4) 10011₂+00110₂
  10011
+00110

  10111₂ = 23₁₀
4,6(17 оценок)
Ответ:
shvanova2017
shvanova2017
17.09.2021
Заменим символы операций на более привычные (логическое сложение на сложение, логическое умножение - на умножение), но будем помнить, что все же это не арифметика, хотя и тут умножение "старше" сложения и выполняется первым.
x=19+17*13+22*14
1) 17₁₀*13₁₀
17₁₀ = 10001₂; 13₁₀=01101₂
Правила умножения поразрядно: 1*1=1, иначе 0
 10001
*01101

 00001 = 1₂
2) 19₁₀+1₂
19₁₀=10011₂
Правила сложения поразрядно: 0+0=0, иначе 1
  10011
+00001

  10011
3) 22₁₀*14₁₀
22₁₀=10110₂; 14₁₀=01110₂
 10110
*01110

 00110
4) 10011₂+00110₂
  10011
+00110

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