var X, Y: array[1..20] of real;
N, I: integer;
P, K: real;
begin
write('N=');
readln(N);
for i:=1 to n do
read(x[i]);
for i:=1 to n do
read(y[i]);
P:=1.0;
for I:=1 to N do
if X[I] begin
P:=P*Y[I];
K:=X[I];
X[I]:=Y[I];
Y[I]:=K;
end;
writeln('Izmenen massiv X');
for I:=1 to N do
write(X[I], ' ');
writeln;
writeln('Izmenen massiv Y');
for I:=1 to N do
write(Y[I], ' ');
writeln;
writeln('Proizvedenie novykh komponent X: ', P:8:3);
readln;
end.
как переделать эту программу с подпрограммами??желательно еще сделать авто ввод массива
САМА ЗАДАЧА
Вещественные векторы x (x1, x2, …, xN) и y (y1, y2, …, yN) преобразовать по правилу: большее из xi и yi принять в качестве нового значения xi , а меньшее – в качестве нового значения yi (i=1, 2, …, N). Печатать преобразованные векторы x и y. Найти и напечатать произведение новых компонентов вектора x.
Answers & Comments
Вообще это конечно уже извращение писать такие программы в стиле Турбо Паскаля, или даже Фри-Паскаля. По сути тут совсем не нужно писать свои процедуры, - в PascalABC.NET хватает встроенных функций и методов. К тому же, вдобавок, можно пользоваться еще и "нетовскими", если вам мало. Не нужно придумывать свои велосипеды.
Смотрите прикрепленные файлы. В стиле PascalABC.NET - первый. Ваш вариант с процедурами и статическими массивами - второй.