Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Матрица


Автор: SapFira 21.9.2008, 15:27
Задание:
0 5 2 0 0
0 0 7 0 0
А= 0 4 0 6 1
0 3 0 0 9
0 0 0 0 0
упаковать матрицу по столбцам,т.е. вывести надо AL = (5, 4, 3, 2, 7, 6, 1, 9)-все ненулевые элементы матрицы, Т = (1, 3, 4, 1, 2, 3, 3, 4) - список с соответствующие им индексы, ТC = (0, 0, 3, 5, 6, 8) - позиции списков AL и Т, на которых оканчиваются описание ненулевых элементов очередного списка. Вот ТС вывести не удается,подскажите как??? 
( матрица для примера показана, можно вводить любую)
Код

Program lab1;
Uses crt; 
var n,i,j,k,q: integer;
matr:array[1..10,1..10] of integer;
AL, T, TC: array[1..100] of integer;
begin
ClrScr;
Write('n=');
Readln(n);
For i:=1 to n do
For j:=1 to n do
   begin
     Write('matr[',i,',',j,']=');
     Readln(matr[i,j]);
   end;
clrscr;
Writeln('Matrica:');
For i:=1 to n do
   begin
     for j:=1 to n do
     Write(matr[i,j]:3);
     Writeln;
   end;
k:=0;q:=0;
for j:=1 to n do
for i:=1 to n do
if matr[i,j]<>0 then 
 begin
    k:=k+1; 
    AL[k]:=matr[i,j];
    T[k]:=i;  
Write('AL= ');
for i:=1 to k do
write(al[i],' ');
writeln;
Write('T= ');
for i:=1 to k do
write(T[i],' ');
writeln;
end.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)