Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует ничего не выводить.
Формат входных данных
На первой строке дано целое число 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; }
var a: array[1..500] of integer; i, n, j: integer; temp: integer;
begin {ввод массива} if handsfree then n := random(500) + 1 else begin write('n = '); readln(n); end;
writeln('Данные массива:'); for i := 1 to n do begin if handsfree then begin a[i] := random(100000); write(a[i], ' '); end else readln(a[i]); end; writeln();
{сортировочка пузыречком по убыванию} for i := 1 to n - 1 do for j := i + 1 to n do if A[i] < A[j] then begin temp := A[i]; A[i] := A[j]; A[j] := temp; end;
{вывод массива} writeln('Вывод массива:'); for i := 1 to n do write(a[i], ' '); writeln();
Var s:string; i:integer;
Begin
Readln(s); i:=length(s);
while (i>0) and (s [ i]=' ') do i:=i-1;
if i=0 then Writeln('слова в строке не обнаружены')
else repeat Write(s[ i]); i:=i-1 until (i=0) or (s[ i]=' ');
End.
Объяснение
uses crt;
var s: string;
i: integer;
begin
write('s=');
readln(s);
for i:=1 to length(s) do
if (s[i]='à') or (s[i]='À') or (s[i]='a') or (s[i]='A')
then s[i]:='O';
write('s=',s);
end.