Я вот продолжаю со своей лаюой (уже седьмой!) мучится:
"Разработать программу размещения верхней трехдиагональной матрицы, вулючая побочную диагональЮ, в линейном вектор; Подпрограмму суммирования эллементов с не нулевой дробной частью в заданном столбце, при этом подпрог-а должна работать с линейным представлением матрицы...
Вот что я сделалЖ (та матрица на экране - это точно правильно, но вот как определить где именно в векторе эл-ты столбца я не знаю ) Help!!!
uses crt;
const
m1=6;
n=9;
type
matrix=array[1..m1,1..n] of real;
vector=array[1..100] of real;
var
i,j,c,q,q1,q2,q3:integer;
m:matrix;
v:vector;
procedure viv;
var
x1,y1,q,q1,q2:integer;
begin
y1:=2;
x1:=2;
q:=n;
q1:=m1;
q2:=1;
for i:=1 to m1 do
begin
for j:=1 to n do
begin
gotoxy(x1,y1);
if (j>=q1) and (j<=q) and (j>=q2) then
begin
gotoxy(x1-1,y1);
write(m[i,j]:2:1);
end
else
begin
write('*');
end;
x1:=x1+6;
end;
q1:=q1-1;
q:=q-1;
q2:=q2+1;
y1:=y1+5;
x1:=x1-6*n;
end;
end;
procedure vect;
var
q,q1,q2,c:integer;
begin
q:=n;
q1:=m1;
q2:=1;
c:=1;
for i:=1 to m1 do
begin
for j:=1 to n do
begin
if (j>=q1) and (j<=q) and (j>=q2) then
begin
v[c]:=m[i,j];
c:=c+1;
end;
end;
q1:=q1-1;
q:=q-1;
q2:=q2+1;
end;
end;
begin
randomize;
clrscr;
{vvod matrici}
for i:=1 to m1 do
begin
for j:=1 to n do
begin
m[i,j]:=random(50)/2;
end;
end;
viv;
vect;
for i:=1 to 20 do
begin
writeln(v[i]:10:1);
end;
readkey;
end.
Сообщение отредактировано: volvo -