Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует ничего не выводить.
Формат входных данных
На первой строке дано целое число 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; }
// PascalABC.Net 3.0, версия 1066 const mm=50; nn=50; var n,m,i,j,k1,k2,p:integer; s1,s2,s3:longint; a:array[1..mm,1..nn] of integer; begin Write('Число строк и столбцов массива: '); Read(m,n); Write('Значение p: '); Read(p); Writeln('*** Сгенерированный массив ***'); Randomize; s1:=0; s2:=0; s3:=0; k1:=0; k2:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(101)-50; Write(a[i,j]:4); if a[i,j]>30 then s1:=s1+a[i,j]; if Odd(a[i,j]) then Inc(k1) else begin s2:=s2+a[i,j]; Inc(k2) end; if i+j=p then s3:=s3+a[i,j] end; Writeln end; Writeln('Сумма элементов массива, больших 30: ',s1); Writeln('Количество нечетных элементов массива: ',k1); Writeln('Среднее арифметическое четных элементов массива: ',s2/k2); Writeln('Сумма элементов массива c суммой индексов ',p,': ',s3) end.