Домашние задания: Информатика

Помогите пожалуйста, не могу это сделать уже 2 часа.

1. Дан одномерный массив, состоящий из n целых чисел. В массиве,
содержащем положительные и отрицательные целые числа, вычислить сумму
четных положительных элементов.
2. Дан одномерный массив, состоящий из n целых чисел. Найти в массиве те
элементы, значение которых меньше среднего арифметического, взятого от всех
элементов массива.
3. Дан одномерный массив, состоящий из n целых чисел. Найти сумму чисел,
порядковые номера которых являются простые числа.
Программы, значит, написать, как я понимаю... -Это можно. Только на каком языке программирования сделать сие? - Нет, программам-то без разницы, на каком языке программирования они написаны, а вот учитель может задать вопрос: а с чего это вдруг программы написаны на этом языке программирования, а не на том, который он преподаёт.

Ладно, напишу, пожалуй, на Паскале (Pascal). Программы обозначу как P1 (Program P1;), P2 и P3 - соответственно: P1 - к 1-ому заданию, P2 - ко 2-ому, а P3 - к 3-ему. Т. к. ответы от майл. ру иногда могут оптимизировать ответ (т. е. "съесть" часть кода, особенно если он повторяется), то 1-ую программу пишу в этом ответе, а остальные 2 - в комментариях к этому ответу.

N пишу как 10. Если надо изменить это число, то в строке "const n=10" замените число 10 на любое желаемое.

Кстати, а как массив заполняется: вручную с клавиатуры или автоматически с использованием генератора случайных чисел? Ладно, пишу так, чтобы заполнялся вручную. Тогда большое значение n выставлять не советую - иначе замучаться можно, заполняя массив.

Итак:

Program P1;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, sum: integer;
begin
clrscr;
sum:=0;
for i:=1 to n do begin
write ('Введите ', i, '-й элемент массива: ');
readln (m[i]);
end;
for i:=1 to n do begin
if (m[i]>0) and (m[i] mod 2=0) then sum:=sum+m[i];
end;
write ('Сумма четных положительных элементов составляет: ', sum);
readkey;
end.
NM
Nazgul Matnazarova
43 559
Лучший ответ
Nazgul Matnazarova Program P2;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, k, sum: integer;
sr: real;
begin
clrscr;
k:=0;
sum:=0;
for i:=1 to n do begin
k:=k+1;
write ('Введите ', i, '-й элемент массива: ');
readln (m[i]);
end;
for i:=1 to n do begin
sum:=sum+m[i];
end;
sr:=sum/k;
write ('Элементы массива, значение которых < среднего арифметического: ');
for i:=1 to n do begin
if m[i]<sr then write (m[i], ' ');
end;
readkey;
end.
Nazgul Matnazarova Program P3;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, j, k, sum: integer;
begin
clrscr;
sum:=0;
for i:=1 to n do begin
write ('Введите ', i, '-й элемент массива: ');
readln (m[i]);
end;
for i:=1 to n do begin
for j:=1 to i do
k:=k+i mod j;
if k=i+1 then sum:=sum+m[i];
end;
write ('Сумма чисел,
порядковые номера которых являются простыми числами, составляет: ', sum);
readkey;
end.
Nazgul Matnazarova А вот, где массивы заполняются автоматически (генератором случайных чисел):

Program P1;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, sum: integer;
begin
clrscr;
sum:=0;
for i:=1 to n do begin
randomize;
m[i]:=random (200)-100;
end;
for i:=1 to n do begin
if (m[i]>0) and (m[i] mod 2=0) then sum:=sum+m[i];
end;
write ('Сумма четных положительных элементов составляет: ', sum);
readkey;
end.
Nazgul Matnazarova Program P2;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, k, sum: integer;
sr: real;
begin
clrscr;
k:=0;
sum:=0;
for i:=1 to n do begin
k:=k+1;
randomize;
m[i]:=random (100);
end;
for i:=1 to n do begin
sum:=sum+m[i];
end;
sr:=sum/k;
write ('Элементы массива, значение которых < среднего арифметического: ');
for i:=1 to n do begin
if m[i]<sr then write (m[i], ' ');
end;
readkey;
end.
Nazgul Matnazarova Program P3;
uses crt;
const n=10;
type massiv=array [1..n] of integer;
var m: massiv;
i, j, k, sum: integer;
begin
clrscr;
sum:=0;
for i:=1 to n do begin
randomize;
m[i]:=random (100);
end;
for i:=1 to n do begin
for j:=1 to i do
k:=k+i mod j;
if k=i+1 then sum:=sum+m[i];
end;
write ('Сумма чисел,
порядковые номера которых являются простыми числами, составляет: ', sum);
readkey;
end.