Найти в Дзене

Массивы. Решение задач. Информатика.

Задача 1. Массив А вводится с клавиатуры. Найти сумму его элементов. Размер произвольный.

const
n=3;
var
a:array[1..n] of integer;
i,s:integer;
begin
s:=0;
for i:=1 to n do
begin
write('Введите a[',i,']=');
readln(a[i]);
s:=s+a[i];
end;
writeln('S=',s);
end.

Задача 2. Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный.

const
n=5;
var
a:array[1..n] of integer;
i,ind:integer;
s,sr:real;
begin
for i:=1 to n do
begin
write('Введите a[',i,']:');
readln(a[i]);
end;
for i:=1 to n do
begin
ind:=i;
if not Ind mod 2=0 then
begin
s:=s+a[i];
sr:=s/n;
end;
end;
writeln('Ср.ар. элементов с нечетными номерами: ',sr);
end.

Задача 3. Массив А вводится с клавиатуры. Найти сумму его элементов с четными номерами, произведение отрицательных элементов, количество нечетных элементов. Размер произвольный.

const
n=5;
var
a: array [1..n] of integer;
sum, kol, pr, i: integer;
begin
sum:=0;
pr:=1;
kol:=0;
for i:=1 to n do
begin
write('Введите a[',i,']=');
readln(a[i]);
if i mod 2=0 then
sum:=sum+a[i] ;
if a[i]<0 then
pr:=pr*a[i] ;
if a[i] mod 2=1 then
kol:=kol+1 ;
end;
writeln('Cумма элементов с четными номерами: ', sum);
writeln('Произведение отрицательных элементов: ', pr);
writeln('Количество нечетных элементов: ', kol);
end.

Задача 4. Найти наибольший элемент и его номер в последовательности, элементы которой вводятся с клавиатуры. Размер произвольный.

const
n=3;
var
a:array[0..n] of integer;
i,max: byte;
begin
max:=0;
for i:=1 to n do
begin
write('Введите a[',i,']=');
readln(a[i]);
if a[max] < a[i] then
max:=i;
end;
writeln;
writeln('Наибольший элемент и его номер: a[',max,']=',a[max]);
end.

Задача 5. Массив А вводится с клавиатуры. Вывести только нечетные элементы. Размер произвольный.

const
n=3;
var
a:array [1..n] of integer;
i,k: integer;
begin
for i:=1 to n do
begin
write('Введите a[',i,']=');
readln(a[i]);
end;
write('Нечетные: ');
for i:=1 to n do begin
if a[i] mod 2 <> 0 then write(' ', a[i]);
end;
end.

Задача 6. 20 случайных чисел увеличить в два раза.

const
n=20;
var
a:array[1..n]of integer;
i:integer;
begin
Randomize;
write('20 случайных чисел:');
for i:=1 to n do
begin
a[i]:= Random(100)-50;
write(a[i]:3);
end;
writeln;
write('20 случайных чисел, увеличенных в 2 раза:');
for i:=1 to n do
begin
a[i]:= a[i]*2;
write(a[i]:3);
end;
end.

Задача 7. Найти произведение 10 случайных чисел.

const
n=10;
var
a:array[1..n]of integer;
i:integer;
p:real;
begin
randomize;
p:=1;
for i:=1 to n do
begin
a[i]:=random(100)-50;
write(a[i]:4);
p:=p*a[i];
end;
writeln;
writeln('Произведение всех чисел = ',p);
end.

Надеюсь, кому-нибудь пригодится.