Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует ничего не выводить.
Формат входных данных
На первой строке дано целое число 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; }
''' 1завдання ''' while True: x = int(input("Х < 0 верхньої точки: ")) if x > 0: print("Ліва верхня точка не може бути додатньою!") print(False) break y = int(input("У > 0 верхньої точки: ")) if y < 0: print("Ліва верхня точка не може бути від'ємною!") print(False) break x_1 = int(input("Х > 0 нижньої точки: ")) if x_1<0: print("Права нижня точка не може бути від'ємною!") print(False) break y_2 = int(input("У < 0 нижньої точки: ")) if y_2 > 0: print("Права нижня точка не може бути додатньою!") print(False) break tochka_X = int(input("Введыть точку Х: ")) tochka_Y = int(input("Введыть точку Y: ")) print("Координати прямокутника:") print("Точка А(",x,y,')',"Точка B(",x_1,y,')') print("Точка C(",x,y_2,')','Точка D(',x_1,y_2,')') if (tochka_X <= x_1)and (tochka_Y <= y): print("Точка з координатами (",tochka_X,tochka_Y,') належить заданому прямокутнику!') elif (tochka_X <= x)and (tochka_Y <= y): print("Точка з координатами (",tochka_X,tochka_Y,') належить заданому прямокутнику!') elif (tochka_X <= x)and (tochka_Y <= y_2): print("Точка з координатами (",tochka_X,tochka_Y,') належить заданому прямокутнику!') elif (tochka_X <= x_1)and (tochka_Y <= y_2): print("Точка з координатами (",tochka_X,tochka_Y,') належить заданому прямокутнику!') else: print("Точка з координатами (",tochka_X,tochka_Y,') HE належить заданому прямокутнику!')
""" 3 завдання """ c = int(input('Це число просте?: ')) i = 2 b = False while i <c: i+=1 if c%2==0: b = True if b==True: print('Нет') else: print('Да') """ 4 завдання """ c = int(input('Ведите сумму номеров прочитанных страниц: ')) suma = 0 i = 0 while suma<c: i+=1 suma += i if suma == c: print('Номер последней прочитанной страницы - ',i) elif suma > c: print('Сумма номеров прочитанных страниц не существует') """ 5 завдання """ mas = [] while True: a = float(input(' a = ')) if a == 0: break mas.append(a) print(mas) print("Було введено ",len(mas),'чисел') print("Минимальне число: ",min(mas)) """ 2 завдання """ print("Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = "))
discr = b ** 2 - 4 * a * c print("Дискриминант D = %.2f" % discr) if discr > 0: from math import sqrt
Формат входных данных
На первой строке дано целое число 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;
}