Заменить все элементы массива, которые меньше среднего арифметического значения всех элементов - Turbo Pascal

Формулировка задачи:

Помогите, пожалуйста, правильно написать программу. Я написал код, но он не запускается. Задание.В данном массиве целых чисел заменить все элементы, которые меньше среднего арифметического значения всех элементов массива, на -1, и те, которые больше среднего арифметического значения всех элементов массива, на 1. Число элементов и массив значений просить у пользователя.
Var
Mass: array of integer;
i:= integer;
S:= integer;
j: integer;
begin S:=0;
Writeln (‘Введите размерность массива’);
Readln (length(mass));
For i:=0 to length (mass) do
begin
Writeln (‘Введите’, mass[i], ‘элементмассива’);
Readln (mass[i]);
End;
For j:=0 to length (mass) do begin
S:= mass(j) + S;
If j>= length (mass) do
S:= S/j;
End;
For i:=0 to length (mass) do begin
If mass(i)>S then begin
Mass[i]:= 1 else
Mass[i]:=-1; end;
Writeln (mass[i]);
End;
End.

Код к задаче: «Заменить все элементы массива, которые меньше среднего арифметического значения всех элементов - Turbo Pascal»

textual
uses crt;
const nmax=100;
var
     mass       : array [1..nmax] of integer;
     i, S, j, n : integer;
     sr: real;
begin
  S:=0;clrscr;                                                                            
repeat
  Write('Введите размер массива, не больше ',nmax,' = ');
  Readln (n);
until (n>0) and (n<=nmax);
 
For i:=1 to n do
 begin
  Write ('Введите ', i, ' элемент массива: ');
  Readln (mass[i]);
 End;
 
writeln('Исходный массив : ');
For i:=1 to n do
 begin
  write(mass[i],' ');
  S:= mass[i] + S;
end;writeln;
sr:=s/n;
 
writeln('Получившийся массив : ');
For i:=1 to n do
 begin
 If mass[i]>sr then
    Mass[i]:= 1
               else
    if mass[i]<sr then
       Mass[i]:=-1;
 Write(mass[i],' ');
 End;writeln;
readln;
End.

8   голосов, оценка 3.750 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы