Program z1; var a: array[1..10] of byte; i,j,k,r: byte; begin randomize; for i: =1 to 10 do begin a[i]: =random(100); write(a[i],' '); a[i]: =(a[i] div 10)+(a[i] mod 10) end; k: =1; writeln(''); for j: =0 to 18 do begin i: =k; while i< =10 do begin if a[i]=j then begin r: =a[k]; a[k]: =a[i]; a[i]: =r; write(a[k],' ') end; i: =i+1 end end; readln end.
Назаров588
14.04.2023
Const n = 8; nmax = 32767; var a: array[1..n] of integer; i, t, min: integer; begin min : = nmax; for i : = 1 to n do begin read(t); a[i] : = t; if (t > 0) and (t mod 2 = 0) then if min > t then min : = t end; if min < > nmax then writeln('минимальный положительный четный элемент равен ', min) else writeln('в массиве нет четных положительных элементов') end. тестовое решение: 353 638 -1000 -452 320 -18 19 0 минимальный положительный четный элемент равен 320
tsarkovim
14.04.2023
Const m = 6; n = 9; type r = record sum: integer; nom: integer end; vr = array[1..n] of r; tm = array[1..m, 1..n] of integer; function sumcol(a: tm; k: integer): integer; { сумма элементов в k-м столбце (колонке) матрицы а } var i, s: integer; begin s : = 0; for i : = 1 to m do s : = s + a[i, k]; sumcol : = s end; procedure swp(var a, b: r); { меняет местами элементы a и b } var t: r; begin t : = a; a : = b; b : = t end; procedure shell(var a: vr); { сортировка методом шелла по убыванию } var i, j, step: integer; begin step : = n div 2; while step > 0 do begin for j : = n - step downto 1 do begin i : = j; while i < = n - step do begin if a[i].sum < a[i + step].sum then swp(a[i], a[i + step]); i : = i + step end end; step : = step div 2 end end; var a, c: tm; b: vr; i, j: integer; begin randomize; writeln('*** исходные элементы массива ***'); 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) end; writeln end; { формируем вектор сумм по столбцам } for j : = 1 to n do begin b[j].sum : = sumcol(a, j); b[j].nom : = j; end; { сортируем полученный вектор по убыванию сумм } shell(b); { осуществляем перестановку во массив с} for j : = 1 to n do for i : = 1 to m do c[i, j] : = a[i, b[j].nom]; { копируем содержимое массива с в массив а } writeln('*** результирующие элементы массива ***'); for i : = 1 to m do begin for j : = 1 to n do begin a[i, j] : = c[i, j]; write(a[i, j]: 4) end; writeln end end. тестовое решение: *** исходные элементы массива *** -27 13 13 -15 8 27 28 -1 32 44 36 20 -39 45 -46 29 18 36 -14 -36 -5 35 36 -14 24 31 -19 -42 -34 -44 40 50 -21 -17 -30 37 -38 22 -46 9 -14 42 -10 1 30 41 -41 -21 21 39 -45 18 4 -3 *** результирующие элементы массива *** 8 32 28 -15 -1 -27 13 27 13 45 36 29 -39 18 44 36 -46 20 36 -19 24 35 31 -14 -36 -14 -5 50 37 -17 40 -30 -42 -34 -21 -44 -14 30 -10 9 1 -38 22 42 -46 39 -3 18 21 4 41 -41 -45 -21
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Заполнить массив из 10 элементов случайными числами в интервале 0..99 и отсортировать по возрастанию суммы цифр