Функции И Массивы

OlgaN

New member
02.01.2013
1
0
#1
ЗадаН массив целого типа А[1.99]. Оформить в виде функции вычисление среднего арифметического тех элементов матрицы, значения которых больше Х и меньше Y. Вывод среднего выполнить во внешнем блоке.
 

IgorSh

New member
10.01.2013
1
0
#2
Как я понил вопрос, числа задаются в промежутке от 1 до 99. Если я некорректно понял вопрос напишите. Среднее арифмитическое считается с округлением.

Program SredArifm;
VAR
A:array[1..100] of integer;
i,N,res,x,y:integer;
function SredArifm(x,y:integer):integer;
var
j,s:integer;
begin
s:=1;
for i:=x to y do
s:=s+A;
res:=S div 2;
end;
BEGIN
readln(N); ///кол-во чисел в массиве 1..99,1..200
for i:=1 to n do ///формирование массива
begin
A[1]:=1;
A[i+1]:=A+1;
end;
for i:=1 to n do
write(A,' ');
readln(x,y);
SredArifm(x,y);
writeln(res);
END.
 

gpatron

Active member
13.08.2009
26
0
#3
Как я понил вопрос, числа задаются в промежутке от 1 до 99. Если я некорректно понял вопрос напишите. Среднее арифмитическое считается с округлением.

Program SredArifm;
VAR
A:array[1..100] of integer;
i,N,res,x,y:integer;
function SredArifm(x,y:integer):integer;
var
j,s:integer;
begin
s:=1;
for i:=x to y do
s:=s+A;
res:=S div 2;
end;
BEGIN
readln(N); ///кол-во чисел в массиве 1..99,1..200
for i:=1 to n do ///формирование массива
begin
A[1]:=1;
A[i+1]:=A+1;
end;
for i:=1 to n do
write(A,' ');
readln(x,y);
SredArifm(x,y);
writeln(res);
END.

не совсем корректная реализация алгоритма.. есть ошибки:
вместо:
Код:
function SredArifm(x,y:integer):integer;
var
j,s:integer;
begin
s:=1;
for i:=x to y do
s:=s+A[i];
res:=S div 2;
end;
должно быть:
Код:
function SredArifm(x,y:integer):integer;
var s:integer;
begin
s:=0;
for i:=x to y do s:=s+A[i];
SredArifm:=S div (y-x);
end;
также при заполнении массива, вместо:
Код:
for i:=1 to n do  ///формирование массива
begin
A[1]:=1;
A[i+1]:=A[i]+1;
end;
должно быть:
Код:
A[1]:=1;
for i:=1 to n-1 do  ///формирование массива
begin
A[i+1]:=A[i]+1;
end;
ну или так:
Код:
for i:=1 to n do  ///формирование массива
begin
A[i]:=i;
end;

а вообще скорее всего ты не так понял:
массив размерностью [1..99] т.е. 99 элементов. В массиве могут быть различные целые числа, не только от 1 до 99.