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

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

Форум «Всё о Паскале» _ Задачи _ Чуть-чуть исправить

Автор: }0pa 19.11.2006 21:27

Переписать подряд положительные элементы линейных массивов x(n) и y(n) в массив Z. Запись в массив Z осуществлять в подпрограмме. Помогите подправить программу, потому что уже не вижу где закралась ошибка.

Код

uses crt;
const n=3;
type massiv = array[1..n] of integer;
var  X,Y:massiv;
      i:integer;
   Zx,Zy:massiv;

procedure vivod (M:massiv;c:integer);
var i:integer;
begin
For i := 1 To c Do write(M[i]:3);
end;

Procedure MyArray (M:massiv;z1:massiv;c:integer);
var i,j:integer;
begin
z1[1]:=0;j:=0;
for i:=1 to c do
begin
  if M[i]>0 then
   begin
    j:=j+1;
    z1[j]:=M[i];
  end
end;
end;

begin
clrscr;

writeln('X: ');
For i := 1 To n Do read(X[i]);
vivod(X,n);
MyArray(X,Zx,n);

writeln;
writeln('Y: ');
For i := 1 To n Do read(Y[i]);
vivod(Y,n);
MyArray(Y,Zy,n);

writeln;
for i:=1 to n do writeln ('Zx[', i,'] = ',Zx[i]);
writeln;
for i:=1 to n do writeln ('Zy[', i,'] = ',Zy[i]);

end.

Автор: volvo 19.11.2006 22:13

Цитата
уже не вижу где закралась ошибка
Здесь:
Procedure MyArray (M:massiv; VAR z1:massiv;c:integer); { <--- Ты забыл Var }

Автор: }0pa 20.11.2006 3:23

Весьма благодарен...Точно!Респект