Часто встречающиеся задачи на одномерный массив

Пусть задан массив а, состоящий из 10 действительных элементов.

 

Задача 1. Найти сумму элементов массива а.

sum:=0;

for i:=1 to 10 do sum:=sum + a[i];

 

Задача 2. Найти произведение элементов массива а.

p:=1;

for i:=1 to 10 do p:=p*a[i];

 

Задача 3. Найти количество отрицательных элементов массива a.

k:= 0;

for i:=1 to 10 do

if a[i] <0 then k:=k+l;

 

Задача 4. Найти максимальный элемент массива а.

max:=a[1];

for i:=2 to 10 do

if a[i] > max then max:=a[i];

 

Задача 5. Найти максимальный элемент массива a с указанием его индекса.

max:=a[1]; k:=1;

for i:=2 to 10 do

if a[i] > max then

begin max:=a[i]; k := i

end;

 

Задача 6. Сформировать новый массив b из положительных элементов массива а и вывести его на экран.

k:=0;

for i:=1 to 10 do

if a[i] >0 then

begin k:=k+l;

b[k]:= a[i]

end;

for i:=1 to k do write(b[i]:7:2);

 

Задача 7. Расположить элементы массива a в порядке возрастания (выполнить сортировку элементов массива по возрастанию).

for i:=l to 9 do

for j:=i+1 to 10 do

if a[i] > a[j] then

begin с:=a[i];

a[i]:=a[j];

a[j]:=c

end;

При этом служебная переменная с того же типа, что и элементы вектора а.

При сортировке элементов вектора по убыванию знак неравенства меняется на противоположный.