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

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

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

Автор: NTL 8.12.2006 5:56

Вообщем,даны 2 массива, в 3-ий занести положительные эл-ты из этих 2-ух массивов. Кому не лень, посмотрите,пожалуйста smile.gif

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

--------
MyArray(X,Z,n,p1);
MyArray(Y,Z,n,p2);


Автор: volvo 8.12.2006 6:04

При втором вызове MyArray начнешь перезаписывать элементы поверх предыдущих, начиная опять с нулевого... Лучше - вот так:

{ Const - чтобы не разбазаривать место в стеке, если массив M небольшой - то можно и без него }
Procedure MyArray(const M:massiv; var z1:array of integer; c:integer; var p:integer);
var i:integer;
begin
for i:=1 to c do
if M[i]>0 then begin
z1[p]:=M[i];
p:=p+1;
end;
end;

--------
p := 0;
MyArray(X,Z,n,p);
MyArray(Y,Z,n,p);

Автор: NTL 8.12.2006 6:21

Тьфу ты mega_chok.gif Детская ошибка! Спасибо большое! good.gif good.gif good.gif