Цитата:
Сообщение от Ekama
В одномерном массиве размещены: в первых N элементах значения аргумента в порядке возрастания, в следующих - соответствующие им значения функции, и задана пара чисел - значения аргумента и функции. Поместить их в массив с сохранением упорядоченности по значениям аргумента. Вывести полученный массив в виде двух параллельных столбцов (аргумент и функция).
Паскаль ABC
|
Без проблем (правда, у меня Free Pascal, но, надеюсь, сойдёт):
Код:
Const
N=8;
Var
A:Array[1..2*N+2] of real;
x0,y0:real;
i,i0:Integer;
Begin
for i:=1 to N do
begin
A[i]:=0.1*i;
A[i+N]:=Exp(A[i]);
end;
Writeln('Initial array:');
for i:=1 to N do
Writeln(A[i]:4:2,A[N+i]:15:5);
x0:=0.45;
y0:=Exp(x0);
Writeln;
Writeln('x0=',x0:4:2,' y0=',y0:7:5);
Writeln;
i0:=0;
Repeat
Inc(i0);
Until A[i0]>x0;
for i:=2*N downto i0 do A[i+1]:=A[i];
for i:=2*N+1 downto N+i0+1 do A[i+1]:=A[i];
A[i0]:=x0;
A[N+i0+1]:=y0;
Writeln('New array:');
for i:=1 to N+1 do
Writeln(A[i]:4:2,A[N+i+1]:15:5);
readln;
End.