Пошагово:
1) Строки
mas[1]:=14;
. . .
mas[10]:=3;
задают значения элементов массива.
Массив имеет вид:
14 10 -8 6 12 4 -16 -7 5 3
2) переменная s:=0;
3) цикл
for i:=1 to 5 do
mas[2*i]:=0;
все элементы, стоящие на чётных местах, обнуляются.
Массив имеет вид:
14 0 -8 0 12 0 -16 0 5 0
4) цикл
for i:=1 to 10 do
if mas[i]>5 then s:=s+mas[i];
просматриваем массив, и если элемент больше 5, добавляем его в сумму s:
добавится сначала 1-й элемент (так как 14>5), сумма станет 0+14=14
а потом 5-й (12>5), сумма станет 14+12 = 26
5)write(s);
напечатает 26, то есть значание s
Всё!
Program Natasha1925;
uses crt;
const n=50;
var
a:array[1..n] of integer;
tri:array[1..n] of integer;
nom,i: integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
nom:=0;
for i:=1 to n do
begin
write('Введите ',i,'-e число ');
readln(a[i]);
if a[i] mod 3 = 0 then
begin
nom:=nom+1;
tri[nom]:=i;
end;
end;
if nom = 0 then
writeln('Элементов, кратных 3, нет!: ')
else
begin
writeln('Номера элементов, кратных 3: ');
for i:=1 to nom do
begin
write(tri[i],' ');
end;
end;
writeln();
end.
var
i1,i2,i3 : Integer;
m : array [1..10] of Integer;
kk : Integer;
begin
Memo1.Clear;
for i1 := 1 to 10 do
begin
m[i1]:= Random(10)-5;
Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1]));
end;
Memo1.Lines.Append('');
kk := 0;
for i1 := 1 to 10-2 do
begin
for i2 := i1+1 to 10-1 do
begin
for i3 := i2+1 to 10 do
begin
if ( (m[i1]+m[i2]+m[i3])=0) then
begin
inc(kk);
Memo1.Lines.Append('Индекс = '+inttostr(i1)+' '+inttostr(i2)+' '+inttostr(i3)+' Значение = '+inttostr(m[i1])+' '+inttostr(m[i2])+' '+inttostr(m[i3]));
end;
end;
end;
end;
Memo1.Lines.Append('');
if kk>0 then
Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю')
else
Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю');
Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk));
end;