Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Матрица

Автор: Xrymz 5.01.2007 20:43

помогите с РГЗ или РГР(у кого как)...

Задание
заполнить два массива Х(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;

writeln;
readln;
End.



test.txt

1 1 1 1 2 1
2 2 2 3 2 2
3 3 4 3 3 3
4 5 4 4 4 4
6 5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7
8 8 8 8 8 8
9 9 9 9 9 9
0 0 0 0 0 0