В том, что только начинаю учить массивы.
Code
Program Lab_5;
uses
crt;
const
n=10;
var
a: array[1..n, 1..n] of integer;
pos,neg,x: array[1..100] of integer;
i,j,k,z,y,t: integer;
procedure matrix;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(19)-9;
end;
procedure write_matrix;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:2,' ');
writeln;
writeln;
end;
end;
procedure vector;
begin
k:=0;
z:=0;
for j:=1 to n do begin
for i:=1 to n do begin
if a[i,j] > 0 then begin k:=k+1; pos[k]:=a[i,j]; end;
if a[i,j] < 0 then begin z:=z+1; neg[z]:=a[i,j]; end; end; end;
t:=k+z;
for i:=1 to t do begin
if i mod 2 =0 then begin x[i]:=pos[i div 2]; end;
if odd(i) then begin x[i]:=neg[i div 2+1]; end; end;
writeln('Положительный массив');
for i:=1 to k do begin
write (pos[i]:3);end;writeln;
writeln('Отрицательный массив);
for i:=1 to z do begin
write (neg[i]:3);end;writeln;
writeln('Вектор');
for i:=1 to t do begin
if x[i]<> 0 then
write (x[i]:3);end;
end;
begin
clrscr;
matrix;
write_matrix;
vector;
readln;
end.
Немного поработал над кодом, теперь создаются сначала два массива, один с положительными элементами, другой с отрицательными. Так вот эти два массива создаются нормально, а когда я объединяю их в необходимый мне массив, то чередование происходит нормально, но после того как чередование закончилось выводится остаток(положительные или отрицательные элементы), и они почему-nо обрубаются?