Uses Crt; const nn=10; var a:array[1..nn,1..nn] of integer; d:array[1..nn] of boolean; i,j,k,n,n1,i1:integer; begin ClrScr; Randomize; Write('Укажите число строк в массиве (2-10): '); Read(n); Writeln('Исходный массив'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4) end; Writeln end; Write('Введите число, строки с которым надо удалить: '); Read(k); for i:=1 to n do begin d[i]:=False; j:=1; while (j<=n) and not d[i] do begin d[i]:=(a[i,j]=k); Inc(j) end end; n1:=n; while (d[n1]) and (n1>0) do Dec(n1); if n1=0 then Writeln('Удалены все строки') else begin for i:=n1 downto 1 do begin if d[i] then begin for i1:=i to n1-1 do for j:=1 to n do a[i1,j]:=a[i1+1,j]; Dec(n1) end end; Writeln('Результирующий массив'); for i:=1 to n1 do begin for j:=1 to n do Write(a[i,j]:4); Writeln end end; ReadKey end.
1 задание) ответ: 1323141; Двигаемся в обратном порядке 2324142 (идём с конца) ей противоположные 1323141 2 задание) ответ: 2949; мы должны получить 11 и 13 причем минимально . можем только так 9+2 и 9+4 . значит 2949 3 задание) ответ: 3; чтобы добраться до 21 нам нужно выполнить 1 команду 6 раз и 3 раза вторую , нас спрашивают про вторую пишем ответ 3 4 задание) ответ: 1; нам нужно число которое делится на 5 то есть 4 отпадает , и также нам нужно чтобы модуль разности был не более 2 и во втором и в третьем модуль разности больше 2 , остается 1. 5 задание) ответ: 1112221; Я всегда начинаю с обратного 57-56-28-14-7-6-5-4 собираем с конца 1112221
Вариант 2 - достаточно, так как грядки могут намокнуть другим лейка )