bksenia9775
?>

C++Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует не выводить ничего. Входные данные На первой строке дано число (1 ≤ N ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109. Выходные данные В выходной файл выведите строки (по количеству вставок) по N чисел каждая. Примеры входные данные 2 2 1 выходные данные 1 2 входные данные 4 2 1 5 3 выходные данные 1 2 5 3 1 2 3 5

Информатика

Ответы

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

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

На первой строке дано целое число 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;
}
Varagyant
Заменим символы операций на более привычные (логическое сложение на сложение, логическое умножение - на умножение), но будем помнить, что все же это не арифметика, хотя и тут умножение "старше" сложения и выполняется первым.
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₁₀
igorevich-alekseevna
Заменим символы операций на более привычные (логическое сложение на сложение, логическое умножение - на умножение), но будем помнить, что все же это не арифметика, хотя и тут умножение "старше" сложения и выполняется первым.
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₁₀

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

C++Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует не выводить ничего. Входные данные На первой строке дано число (1 ≤ N ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109. Выходные данные В выходной файл выведите строки (по количеству вставок) по N чисел каждая. Примеры входные данные 2 2 1 выходные данные 1 2 входные данные 4 2 1 5 3 выходные данные 1 2 5 3 1 2 3 5
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

polyakovaelena
milkamilka1998
Tselyaritskaya Yurevich
Попов1946
scraer198258
serg1976g
АртакСергеевич1723
andrewshilin1334
andrey4work918
ridyana504
tomogradandrey
polina25258
kotovayaanastasia2069
Femida76
oslopovavera