Пользователю нужно ввести несколько чисел. Для начала программа спрашивает сколько их будет, а потом просит их ввести.
Теперь из всех чисел нужно вычесть самое первое. Потом из всех чисел вычесть второе, потом из всех вычесть третье т.д.
(Причём, когда мы от всех числе отнимаем первое, то мы не можем отнять от первого первое. Для этого у пользователя запрашивается дополнительное число. И от этого числа будет отниматься первое число. Также и со вторым числом: от введённого пользователем числа будет отниматься второе число. И т.д.)
Здесь мне всё понятно. Я написала программу. Она работает.
Program p;
const n=100;
type mas=array[0..n] of real;
var c,i,j:integer; x,xx:mas; d:real;
Procedure Data (var x,xx:mas);
begin
writeln('Введите количество х (считать от 0)'); readln(c);
writeln('Введите доп. число'); readln(d);
for i:=0 to c do begin
write('Vvedite x(',i,') = '); readln(x[i]);
end;
j:=0;
for i:=0 to c do begin
if x[i]<>x[j] then xx[i]:=x[i]-x[j]
else xx[i]:=d-x[j];
writeln('xx[',i,']=',xx[i]);
end;
end;
Begin
Data(x,xx);
read;
End.
Проблема в том, что мне нужна универсальная программа.
Моя программа считает только при j:=0. Получается что от всех чисел отнимается только первое число. А мне нужно и второе отнять, и третье и т.д. (в зависимости сколько пользователь пожелает чисел ввести)
Подскажите пожалуйста, как сделать это?