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

Работа с массивами практическое занятие по ИКТ

Помогите пожалуйста, необходимо работать с массивами
первый пример

program Hello;
var mas: array of integer;
len, S, i: integer;
begin
readln (len);
SetLength (mas, len);
for i:=1 to len do
begin
readln (mas[len]);
if ((mas[len] > 5) and (mas[len] < 25))
then
S:=S+mas[len]
end;
writeln (s);
end.

вторая задача

program Hello;
var mas: array of integer;
len, o, p, i: integer;
begin
readln (len);
p:=0;
o:=0;
SetLength (mas, len);
for i:=1 to len do
begin
readln (mas[len]);
if (mas[len] > 0)
then
p:=p+1;
if (mas[len] < 0)
then
o:=o+1;
end;
if o > p
then writeln ('otricatelnih bolshe');
if o < p
then writeln ('polozhitelnih bolshe');
if o = p
then writeln ('odinakovo');
end.

остальное лень.
Гор Авагян
Гор Авагян
25 474
Лучший ответ
Евгений Сергеевич Короп Работать не будет - не указана размерность массива
Евгений Сергеевич Короп И зачем писАть столько программ, когда достаточно одной?
Вопрос зада несколько некорректно: не указан язык программирования (ЯП). Да, программе, конечно, без разницы, на каком ЯП она написана, а вот у учителя/преподавателя может возникнуть вопрос: с чего это вдруг программа написана именно на этом ЯП, а не на изучаемом (т. е. не на том, который он преподаёт).

Предположу, что изучаемый ЯП - "Паскаль" (Pascal) - его достаточно часто изучают. Поэтому напишу на нём - если что - уже в комментариях. Пояснения - аналогично.

Итак, вот, собственно, программа (для изменения количества элементов массива, в строке "const N=5;" заметите число 5 на любое другое (большое ставить не советую - замучаетесь вводить)):

Program P1;
uses crt;
const N=5;
type Massiv=array [1..N] of real;
var m: massiv;
i, kolm, koln, otr, pol: integer;
min, sum: real;
begin
clrscr;
kolm:=0;
koln:=0;
otr:=0;
pol:=0;
sum:=0;
for i:=1 to N do begin
write ('Введите ', i, 'элемент массива: ');
readln (m[i]);
end;
min:=m[1];
for i:=1 to N do begin
if m[i]=0 then koln:=koln+1 else
if m[i]<0 then otr:=otr+1 else
if m[i]>0 then pol:=pol+1;
if m[i]5) and (m[i]<25) then sum:=sum+m[i];
end;
writeln (' ');
write ('Введённый массив: ');
for i:=1 to N do begin
write (m[i], ' ');
end;
writeln (' ');
if sum<>0 then writeln ('Сумма элементов, которые >5, но<25: ', sum);
if otrpol then writeln ('В массиве больше отрицательных элементов.') else
writeln ('Количество положительных элементов массива и отрицательных совпадает.');
if koln=0 then writeln ('В массиве нет элементов, равных 0.') else begin
writeln ('Число нулевых элементов массива: ', koln);
write ('Их индексы: ');
for i:=1 to N do begin
if m[i]=0 then write (i, ' ');
end;
end;
writeln (' ');
writeln ('Число минимальных элементов массива: ', kolm, '.');
if kolm <>0 then begin
write ('Их номера: ');
for i:=1 to N do begin
if m[i]=min then write (i, ' ');
end;
end;
readkey;
end.
Евгений Сергеевич Короп Да, небольшая ошибка: не "if m[i]5) and (m[i]<25) then sum:=sum+m[i];", а "if (m[i]>5) and (m[i]<25) then sum:=sum+m[i];"
Евгений Сергеевич Короп Да чёртова оптимизация в ответах от майл. ру! Вот программа (см. скриншот):
Сергей Анхимов Прошу прощения, не корректно указал язык необходимо по C# ( Си шар)