Ошибка после условия, цикл будет выполнятся бесконечно, так как переменная a всегда будет a=1. Чтобы исправить это, нужно:
s=s+a
n=n+1
a=a+1
Результат - 10.
1.
var a:array [1..4, 1..4] of integer; i, j, max: integer;
Begin
for i := 1 to 4 do
begin
for j := 1 to 4 do
read(a[i][j]);
readln;
end;
max := a[1][1];
for i := 2 to 4 do
if max < a[i][i] then max := a[i][i];
writeln(max);
End.
2.
var a:array [1..5, 1..5] of integer; i, j, m, sum: integer;
Begin
for i := 1 to 5 do
begin
for j := 1 to 5 do
read(a[i][j]);
readln;
end;
readln(m);
sum := 0;
for i := 1 to 5 do
if (m - i > 0) and (m - i < 6) then
sum := sum + a[i][m - i];
writeln(sum);
End.
3.
Const N = 5;
var a:array [1..N, 1..N] of integer; i, j, max: integer;
Begin
for i := 1 to N do
begin
for j := 1 to N do
read(a[i][j]);
readln;
end;
max := a[1][N];
for i := 2 to N do
if (max < a[i][N + 1 - i]) then
max := a[i][N + 1 - i];
writeln(max);
End.
4.
Const N = 5;
var a:array [1..N, 1..N] of integer; i, j, count: integer; sum: real;
Begin
for i := 1 to N do
begin
for j := 1 to N do
read(a[i][j]);
readln;
end;
sum := 0;
count := 0;
for i := 1 to N do
if (a[5][i] mod 2 = 1) then
begin
sum := sum + a[5][i];
inc(count);
end;
sum := sum / count;
writeln(sum);
End.
5.
var a:array [1..4, 1..4] of integer; i, j, upper_sum, lower_sum: integer;
Begin
for i := 1 to 4 do
begin
for j := 1 to 4 do
read(a[i][j]);
readln;
end;
upper_sum := 0;
lower_sum := 0;
for i := 1 to 4 do
begin
for j := i + 1 to 4 do
upper_sum := upper_sum + a[i][j];
for j := 1 to i - 1 do
lower_sum := lower_sum + a[i][j];
end;
writeln(upper_sum);
writeln(lower_sum);
End.
Program1; Uses crt;
var a: integer;
begin clrscr;
Writeln('введите число");
Readln(a);
if a>0 then Writeln('a-положительное');
if a<0 then Writeln('a-отрицательное');
if a=0 then Writeln('a=0');
Readln;
End.
Только я вот не понял, зачем фотка прикреплена к вопросу?..
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -10, 99);
a.Println;
a.TakeWhile(p -> p > 0).DefaultIfEmpty.Average.Println
end.
Объяснение:
TakeWhile(p -> p > 0) - отбирает элементы от начала до тех пор, пока условие p > 0 истинно, т.е. со значением, большим нуля.
DefaultIfEmpty - если первое же значение не положительно, результатом будет один элемент, равный нулю (нельзя найти среднее, если элементов не отобрано вообще, получим 0/0)
Average - находит среднее отобранных элементов