Вставить после всех строк (двумерного массива), в которых есть заданное число А, последнюю строку - Pascal ABC
Формулировка задачи:
Вставить после всех строк (двумерного массива), в которых есть заданное число А, последнюю строку. Желательно с процедурами init, print, insert
Решение задачи: «Вставить после всех строк (двумерного массива), в которых есть заданное число А, последнюю строку»
textual
Листинг программы
const nmax=20; type mtr=array[1..nmax,1..nmax] of integer; procedure init(var a:mtr; var m,n:byte); var i,j:byte; begin repeat write('Количество строк до ',nmax div 2,' m='); readln(m); until m in [1..nmax]; repeat write('Количество столбцов до ',nmax,' n='); readln(n); until n in [1..nmax]; for i:=1 to m do for j:=1 to n do a[i,j]:=random(20); end; procedure print(a:mtr;m,n:byte;s:string); var i,j:byte; begin writeln(s); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end; procedure insert(var a:mtr;x:integer;var m:byte;n:byte); var b:array[1..nmax] of integer; i,j,k,f:byte; begin for i:=1 to n do b[i]:=a[m,i]; i:=1; while i<=m do begin f:=0; j:=1; while(j<=n)and(f=0)do if a[i,j]=x then f:=1 else inc(j); if f=1 then begin inc(m); if i<m-1 then for k:=m downto i+2 do for j:=1 to n do a[k,j]:=a[k-1,j]; for j:=1 to n do a[i+1,j]:=b[j]; inc(i,2); end else inc(i); end; end; var c:mtr; m,n:byte; A:integer; begin randomize; init(c,m,n); print(c,m,n,'Исходный массив'); write('A='); readln(A); insert(c,A,m,n); print(c,m,n,'Вставка строк'); end.
Объяснение кода листинга программы
- В начале программы объявляются переменные nmax, mtr, m и n, которые будут использоваться в дальнейшем.
- Затем объявляется процедура init, которая считывает количество строк и столбцов массива, а затем заполняет его случайными числами.
- После этого объявляется процедура print, которая выводит исходный массив, а затем вставляет строки после всех строк, содержащих заданное число.
- Далее объявляется процедура insert, которая выполняет вставку строк. Она считывает значения из исходного массива, сохраняет их в новом массиве, а затем заменяет соответствующие строки в исходном массиве.
- В конце программы объявляется переменная c, которая будет использоваться для хранения результата. Затем выполняется инициализация c, вывод исходного массива и вставка строк.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д