Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка [-20,50].− удалить из него все элементы, в которых есть цифра 5.− вставить число k после всех элементов, кратных своему номеру (k вводить с клавиатуры).− поменять местами первый положительный и последний отрицательный элемент — Pascal(Паскаль)

uses crt;
var m : array[1..100]of integer;
i, k, N, b, j, n1, n2 : integer;
 
begin
    clrscr;
    randomize;
    N := 15;
    writeln('Исходный массив');
    for i:=1 to N do
    begin
        m[i] := -20 + random(71);
        write(m[i],' ');
    end;
    i := 1;
    while i <= N do
    begin
        if (abs(m[i]) mod 10 = 5) or (abs(m[i]) div 10 = 5) then
        begin
            for j := i to N do m[j] := m[j+1];
            dec(N);
        end else inc(i);
    end;
    writeln;
    writeln('После удаления из него элементов, где есть пятёрка');
    for i:=1 to N do write(m[i],' ');
    
    writeln('K -> ');
    readln(K);
    i := 1;
    while i <= N do
    begin
        if abs(m[i]) mod i = 0 then
        begin
            inc(N);
            for j:=N downto i+1 do m[j]:=m[j-1];
            m[i]:=k;
            i := i + 2;
        end else inc(i);
    end;
    writeln;
    writeln('После вставки элемена K');
    for i:=1 to N do write(m[i],' ');
 
    n1 := 1;
    while (n1 <= N) and (m[n1] <= 0) then inc(n1);
    n2 := N;
    while (n1 >= 1) and (m[n2] >= 0) then dec(n2);
    b := m[n1];
    m[n1] := m[n2];
    m[n2] := b;
    writeln; 
    writeln('После перестановки элементов');
    for i:=1 to N do write(m[i],' ');
 
    readln;
end.

Leave a Comment

67 + = 68