// pascalabc.net 3.0, сборка 1110 const nn=30; var i,j,n,p,q: integer; c: array[1..nn+1,1..nn+2] of char; a,b: array[1..nn+1] of char; t: char; begin write('введите n (1-30): '); read(n); if n=1 then p: =1 else begin write('введите p (1-',n,'): '); read(p) end; write('введите q (1-',n+1,'): '); read(q); // инициализация и вывод randomize; for i: =1 to n do for j: =1 to n+1 do c[i,j]: =chr(ord('а')+random(32)); // [а..я] writeln('*** исходная матрица c ***'); for i: =1 to n+1 do begin for j: =1 to n+2 do begin if (j=n+2) or (i=n+1) then c[i,j]: ='*'; write(c[i,j]: 2) end; writeln end; writeln('*** вектор а ***'); for i: =1 to n+1 do begin a[i]: =chr(ord('a')+random(26)); // [a..z] write(a[i]: 2) end; writeln(#13#10,'*** вектор b ***'); for i: =1 to n+1 do begin b[i]: =chr(ord('a')+random(26)); // [a..z] write(b[i]: 2) end; writeln; // вставка строки ниже p на основе вектора а for i: =n+1 downto p+1 do for j: =1 to n+1 do c[i,j]: =c[i-1,j]; for j: =1 to n+1 do c[p+1,j]: =a[j]; writeln('*** матрица c после вставки строки ***'); for i: =1 to n+1 do begin for j: =1 to n+2 do write(c[i,j]: 2); writeln end; // вставка столбца правее q на основе вектора а for j: =n+2 downto q+1 do for i: =1 to n+1 do c[i,j]: =c[i,j-1]; for i: =1 to n+1 do c[i,q+1]: =b[i]; writeln('*** результирующая матрица c ***'); for i: =1 to n+1 do begin for j: =1 to n+2 do write(c[i,j]: 2); writeln end; end. тестовое решение: введите n (1-30): 6 введите p (1-6): 2 введите q (1-7): 3 *** исходная матрица c *** ю м в щ я п э * р х к л х т ч * б б ф я с о ъ * е к д ж о ю ъ * ь з з б а к х * у т ъ с ь к щ * * * * * * * * * *** вектор а *** h a h d u g t *** вектор b *** r y c e s u u *** матрица c после вставки строки *** ю м в щ я п э * р х к л х т ч * h a h d u g t * б б ф я с о ъ * е к д ж о ю ъ * ь з з б а к х * у т ъ с ь к щ * *** результирующая матрица c *** ю м в r щ я п э р х к y л х т ч h a h c d u g t б б ф e я с о ъ е к д s ж о ю ъ ь з з u б а к х у т ъ u с ь к щ
is0019
07.02.2023
Program z1; var a: array [1..100] of real; i,n: integer; begin write('введите размера массива - '); readln(n); randomize; for i: =1 to n do begin a[i]: =random(9)-0; write (a[i],' '); end; writeln; writeln; for i: =1 to n do begin if (i mod 2 = 0) then a[i]: =a[i]+5 else a[i]: =a[i]/2; writeln(a[i]); end; end.