Ладно, раз все эти нюансы не важны, то вот так:
program Project1;
var
x,y, d: real;
begin
write(' Enter X:');
readln(x);
write('Enter Y:');
readln(y);
d:= ((abs(x)-abs(y)))/((1+abs(x*y)));
writeln(d:0:5);
readln;
end.
Создается, так сказать, массив, длину которого вводите вы. Затем вы его заполняете. В цикле происходит сортировка чисел массива от меньшего к большему(если число слева больше числа справа, то поменять их местами) и выводится на экран первые два числа, то есть 2 наименьших числа массива.
Однако тупо реализовано создание массива. Неважно сколько вы впишете длину массива(<100), он все равно будет занимать память на 100 символов, а это очень глупо. Для создания динамических массивов(массивы , размеры которых РЕАЛЬНО указываете вы сами) используйте указатели.
А) Саратов,Самара,Париж,Волгоград,Воронеж и т.д.
б) Нельзя дописать Волга, тк это река и Россия, тк это Страна
Uses Crt;
Var
f:text;
S,n,k,d:integer;
Begin
Assign(f,'TextIn.txt');
Reset(f);
Read(f,n);
k:=0;
For n:= 1 to n do
Begin
S:=0;
d:=n div 2;
While d<>0 do
Begin
if n mod d = 0 then S:=S+d;
d:=d-1
End;
if S = n then
Begin
WriteLn(n);
k:=k+1
End
End;
Close(f);
Assign(f,'TextOut.txt');
ReWrite(f);
Write(f,k);
Close(f);
ReadLn;
End.
Для правильной работы программы необходимо, чтобы эти файлы лежали в папке с программой:
Var
n, k, t, i, counter, j: int64;
c: array[1..10]of int64;
a: array[1..100000]of int64;
ar: array[1..10, 1..100000]of int64;
count: array[1..10]of int64;
b: boolean;
label l1;
begin
b := true;
counter := 0;
read(n, k, t);
for i := 1 to n do read(c[i]);
for i := 1 to k do read(a[i]);
l1:
while (counter <> k) do
begin
for j := 1 to n do
begin
for i := 1 to c[j] do
begin
if(ar[j, i] <= a[counter + 1]) then
begin
ar[j, i] := t + a[counter + 1];
counter := counter + 1;
count[j] := count[j] + 1;
b := false;
goto l1;
end;
end;
end;
if(b = true) then counter := counter + 1;
b := true;
end;
for i := 1 to n do write(count[i], ' ');
end.