var x, n: integer; n1: real; begin Writeln('Введите число: '); Read(x); if (x > 9) and (x < 100) then begin n := (x div 10) + (x mod 10); Writeln('Сумма цифр равна: ', n); end; if (x > 99) and (x < 1000) then begin n := (x div 100) * ((x div 10) mod 10) * (x mod 10); Writeln('Произведение цифр равно: ', n); end; if (x > 999) and (x < 10000) then begin n := x div 1000 + (x div 100) mod 10 + (x div 10) mod 10 + x mod 10; n1 := n / 4; Writeln('Среднее арифметическое равно: ', n1); end; if x > 9999 then begin Writeln('Введите 2-х, 3-х или 4-х значное число'); end; end.
program z1;
var i,n,s:integer;
a : array [1..100] of integer;
begin
write ('Введите количество элементов n < 100: ');
readln(n);
write ('Массив: ');
for i:= 1 to n do
begin
a[i]:=random (21)-10;
write(a[i]:5)
end;
writeln;
s:=0;
for i:= 1 to n do
if a[i]<0 then s:=s+a[i];
writeln ('s = ',s)
end.
Объяснение:
Ошибки
1) нет названия программы и ; после неё
2) в описании массива 3 точки (надо 2)
3) нет кавычек для ввода текста в первом write
4) нет ; после readln (n)
5) нет : при присваивании i в цикле for i = 1
6) нет форматированного вывода или добавленного разделителя в write(a[i])
7) нет ; после первого end
8) нет ; после s:=0
9) нет кавычек для ввода текста в writeln (s = ,s)
10) нет точки после последнего end
Условие
for i:= 1 to n do (перебираем весь массив)
if a[i]<0 then s:=s+a[i]; (если элемент меньше 0, то увеличиваем переменную s (сумму) на него)