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 (сумму) на него)
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!
uses Crt;
procedure MySwap(a:array of integer);
begin
var n:=a.Length;
for var i:=0 to n div 2 do Swap(a[i],a[n-i-1])
end;
procedure MyPrint(txt:string; a:array of integer);
begin
Print(txt); a.Println
end;
begin
var n:=ReadInteger('n=');
var a:=new integer[n];
var b:=new integer[n];
Randomize;
for var i:=0 to n-1 do begin
a[i]:=Random(10); b[i]:=Random(10);
end;
ClrScr;
MyPrint('Исходный А :',a); MySwap(a); MyPrint('Результат А:',a);
MyPrint('Исходный B :',b); MySwap(b); MyPrint('Результат B:',b)
end.