Задача 1. Списки списков типа подходят для реализации другого алгоритма. для сортировки - сортировка с ̆. Подходит для случаев, когда элементы
мы должны сортировать, они нам не выдаются вначале, но мы время от времени получаем новые
элементы, которые должны войти в соответствующую позицию между уже отсортированными элементами.
Отвечать. Для этого при поступлении нового элемента находим в цикле индекс первого элемента.
отсортированный по нему элемент большего размера и вставьте на его место новый элемент. Работать
базовый алгоритм правильно, нам нужно обработать первый элемент отдельно и завершить
выполнение программы, если количество n элементов равно 1
Этапы:
▪ Введите длину листа с клавиатуры.
▪ Цикл обхода листа и ввода в него данных, и если длина состоит из
один элемент для завершения программы
▪ Цикл для обхода листа, начиная со второго элемента, чтобы найти индекс
первый больше введенного элемента
▪ Если найденный индекс равен длине списка, вставьте желаемое значение
▪ В противном случае вставьте желаемое значение вместо найденного элемента.
мне.
begin
var n:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(n,-50,50);
a.Println(',');
Writeln('Четные элементы: ');
var i:=1;
while i<n do begin Write(a[i],' '); Inc(i,2) end;
Writeln;
Writeln('Нечетные элементы: ');
i:=0;
while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9
var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer;
i, j, k,n,r,t: integer;
begin
Writeln('Введите размер матрицы n');Read(n);
for i := 1 to n do begin
for j := 1 to n do begin
Read(k);x[i, j] := k; end;end;
Writeln('Исходный массив');
for i := 1 to n do begin
for j := 1 to n do begin
Write(x[i, j]:4);
if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end;
end;
Writeln; end;
Writeln;Writeln('Одномерный массив');
for j := 1 to t do
Write(z[j]:4);
end.