Задание заполнить два массива Х(5*6) и У(5*6) числами, хранящимися в текстовом файле. Составить процедуру обработки массива, согласно варианту задания и использовать её в основной программе для работы с массивами Х,У Ход выполнения 1. Создать в текстовом редакторе Writer(Word) текстовый файл, содержащий две матрицы целых(вещественных) чисел размером 5*6. 2. Составить подпрограмму: - Записать в одномерный массив все элементы глав. И Побочной диагонали; 3. Составить основную прог-му содержащию: - заполнение мас-в Х,У числами, хранящимися в текстовом файле; - вызов подпрограммы (n.2) для обработки массивов Х,У; - вывод результатов вычислений;
мисс_граффити
5.01.2007 21:18
FAQ+Поиск. Решалось неоднократно
Гость
6.01.2007 21:56
Можно это както скоротить!? буду очень благодарен! =)
program asd; uses crt; var f:text; ch:integer; c,i,j:integer; b,a:array[1..5,1..6] of integer; z:array[1..10,1..6] of integer; y:array[1..22] of integer;
procedure diag;
begin {Pervaja Glava} for i:=1 to 6 do y[i]:=a[1,i]; {Vtaraja Glava} j:=1; for i:=7 to 12 do begin y[i]:=b[1,j]; j:=j+1; end; {Pervaja pobo4naja diagonal} j:=5; for i:=13 to 17 do begin y[i]:=a[j,6-j]; j:=j-1; end;
j:=5; for i:=18 to 22 do begin y[i]:=b[j,6-j]; j:=j-1; end; end;
Begin clrscr; Assign(F,'C:\test.txt'); Reset(F);
i:=1; while not seekeof(f) do begin j:=1; while not seekeoln(f) do begin Read(F,z[i,j]); inc(j); end; readln(f); inc(i); end; close(F);
{1-ja MatpuCa} for i:=1 to 5 do for j:=1 to 6 do begin a[i,j]:=z[i,j]; end;
{2-ja MaTpuCA} c:=5; for i:=1 to 5 do begin c:=c+1; for j:=1 to 6 do begin b[i,j]:=z[c,j]; end; end;
diag; {/7poceDyPa}
{BbIBog gaHHbIX} writeln; writeln('Glava 1 Matrici'); {g1} for i:=1 to 6 do write(y[i],' '); writeln; writeln('_________________'); writeln('Glava 2 Matrici'); {g2} for i:=7 to 12 do write(y[i],' '); writeln; writeln('_________________');
writeln('/7o6o4Haja guaroHaJIb 1 Matpucu'); {/1} c:=5; for i:=17 downto 13 do begin for j:=1 to 5 do if j=c then write(y[i]) else write(' '); writeln; c:=c-1; end;
writeln('/7o6o4Haja guaroHaJIb 2 Matpucu'); {/2} c:=5; for i:=22 downto 18 do begin for j:=1 to 5 do if j=c then write(y[i]) else write(' '); writeln; c:=c-1; end;