Другие языки программирования и технологии

Организовать ввод одномерного массива

помогите организовать ввод одномерного массива, необходимо количество элементов ввести с клавиатуры. program z5; const n=5; var A: array [1..n] of real; max,min,s:real; i: integer; begin writeln ('vvedite elementi massiva'); for i:=1 to n do readln (a); for i:= 1 to n do max:=a[1]; min:=a[1]; for i := 2 to n do begin if (a<min)>; if (a>max) then max:=a; end; for i:= 1 to n do s:=0; for i:= 1 to n do begin S:=s+a; end; S:=(S-max-min)/(n-2); writeln ('Srednearefmeti4eskoe bez max i min=',S:10:4); readln end. вот моя программа, n-количество элементов у меня обознаечна константой, а нужно ввести с клавиатуры, как сделать, я не знаю, помогите пожалуйста.
Abror Davlatov
Abror Davlatov
37
Вот что удалось найти
Динамические массивы в Паскале. Динамические массивы в Паскале не имеют заранее определенного размера. Размер динамических массивов может изменяться. Пример создания динамического массива в Паскале:
type TIntMassiv = array of Integer;
var intMassiv: TIntMassiv;
Здесь создан новый тип TIntMassiv, это динамический массив, его размер не известен, и переменная данного типа intMassiv.
Размер динамического массива неизвестен, но для работы с таким массивом размер надо установить. Устанавливают размер динамического массива в Паскаль с помощью функции SetLength
SetLength(intMassiv, 2);
Здесь установлен размер два для массива intMassiv.

Соответственно, в своей программе ты пишешь:
program z5;
type TIntMassiv = array of real;
var A: TIntMassiv;
var max,min,s:real;
i: integer;
begin
writeln ('Введите размер массива: ');
readln (n);
SetLength (A, n);
writeln ('vvedite elementi massiva');

И дальше идёт твоя программа
ИР
Илья Рудаков
99 542
Лучший ответ
для таких случаев пользуются динамической памятью
var: n:integer;
a:array of real;
max,min,s:real;
i: integer;
begin
writeln('введите размерность массива');
readln(n);
setlehgth(a,n);
writeln ('vвведите элемент массива');
for i:=1 to n do
readln (a);
for i:= 1 to n do
max:=a[1];
min:=a[1];
for i := 2 to n do
begin
if (a<min)>;
if (a>max) then max:=a;
end;
for i:= 1 to n do
s:=0;
for i:= 1 to n do
begin
S:=s+a;
end;
S:=(S-max-min)/(n-2);
writeln ('Srednearefmeti4eskoe bez max i min=',S:10:4);
readln
end.
попробуй завести массив на допустим 1000 элементов, но использовать только первые 20(число которое ты введешь с клавы) . реадлн (н) или как вариант погугли на тему динамические массивы в паскале