Вывести двумерный массив в таблицу с помощу псевдографики - Pascal ABC
Формулировка задачи:
у меня есть двумерн. массив , мне нужно занисти его в табилицу (в псевдографике ) помогите
нужно вывести двумерный массив в таблицу , таблица должна быть нарисовано с помощу псевдографики
Решение задачи: «Вывести двумерный массив в таблицу с помощу псевдографики»
textual
Листинг программы
uses crt; type mtr=array[1..10,1..10] of integer; procedure vvod(var a:mtr;var n,w:byte); var i,j:byte; s:string; begin clrscr; repeat write('Размер матрицы от 3 до 10 n='); readln(n); until n in [3..10]; writeln('Введите элементы матрицы, целые числа'); w:=0; for i:=1 to n do for j:=1 to n do begin write('a[',i,',',j,']='); readln(a[i,j]); str(a[i,j],s); if length(s)>w then w:=length(s); end; w:=w+3; clrscr; end; procedure Tabl(n,w:byte;s:string); var i,j:byte; begin writeln(s); write(#201); for i:=1 to n*w-1 do if ((i<>n*w-1)and(i mod w=0)) then write(#209)else write(#205); writeln(#187); for j:=1 to n-1 do begin write(#186); for i:=2 to n*w-1 do if i mod w=0 then write(#179:w); writeln(#186:w); write(#199); for i:=1 to n*w-1 do if ((i<>n*w-1)and(i mod w=0)) then write(#197)else write(#196); writeln(#182); end; write(#186); for i:=2 to n*w-1 do if i mod w=0 then write(#179:w); writeln(#186:w); write(#200); for i:=1 to n*w-1 do if ((i<>n*w-1)and(i mod w=0)) then write(#207)else write(#205); writeln(#188); end; procedure vyvod(a:mtr;n,w:byte); var i,j:byte; begin for i:=1 to n do begin gotoXY(2,2*i+1); for j:=1 to n do begin gotoXY((j-1)*w+2,whereY); write(a[i,j]:w-2); end; end; gotoXY(1,2*n+3); end; var n,w,i,j:byte; x:integer; a:mtr; begin vvod(a,n,w); Tabl(n,w,'Исходная матрица'); vyvod(a,n,w); write('Нажмите Enter для продолжения'); readln; clrscr; {обмен диагоналей} for i:=1 to n do begin x:=a[i,i]; a[i,i]:=a[i,n-i+1]; a[i,n-i+1]:=x; end; for i:=1 to n do for j:=1 to n do if((j>i)and(j<n-i+1))or((j<i)and(j>n-i+1))then a[i,j]:=0 else if(j<>i)and(j<>n-i+1)then a[i,j]:=2*a[i,j]; Tabl(n,w,'Измененная матрица'); vyvod(a,n,w); write('Нажмите Enter для выхода'); readln end.
Объяснение кода листинга программы
- В процедуре vvod считывается размер матрицы и затем происходит чтение элементов матрицы.
- В процедуре Tabl выводится таблица с помощью символов #201, #205, #187, #179, #186, #197, #196, #182, #200, #207, #188.
- В процедуре vyvod происходит вывод измененной матрицы.
- В основной части программы происходит обмен диагоналей, а затем вывод исходной и измененной матрицы.
- В конце программы происходит выход из программы при нажатии клавиши Enter.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д