Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Приблизительное число!

Автор: @lFi 20.06.2007 23:30

Дано 11 переменных, нужно найти какие из них приблизительно равны арифметическому среднему переменных.
Вопрос в том как найти какие из них приблизительно равны арифметическому среднему.

В самой программе я остановился вот где:

program num;
uses crt;
const
n=11;
var
a:array[1..n] of integer;
i,k,s:integer;
m:real;
begin
clrscr;
writeln('Press key');
writeln;
clrscr;
for i:=1 to n do
begin
writeln('Enter ',i,' number ');
readln(a[i]);
end;
for i:=1 to n do
begin
s:=s+a[i]; k:=k+1;
end;
m:=s/k;
writeln;
writeln('arithmetic mean is ',m);
readkey;
end.


а дальше как не знаю blink.gif Помогите,pls wacko.gif

М
Текст программы заключай в теги CODE, а не QUOTE. Исправлено
Лопарь


Автор: volvo 20.06.2007 23:34

Введи какое-нибудь отклонение (epsilon), в пределах которого можно считать, что одно вещественное значение равно другому, и для каждого элемента массива делай проверку: если модуль разности элемента массива и среднего арифметического меньше заданного отклонения, то этот элемент приблизительно равен среднему...

Автор: compiler 20.06.2007 23:38

и еще

 for i:=1 to n do
begin
writeln('Enter ',i,' number ');
readln(a[i]);
end;
for i:=1 to n do
begin
s:=s+a[i]; k:=k+1;
end;
m:=s/k;

прекрасно заменяется на
for i:=1 to n do begin
writeln('Enter ',i,' number ');
readln(a[i]);
s:=s+a[i];
end;
m:=s/i;


Автор: мисс_граффити 21.06.2007 4:51

m:=s/i;

так лучше не делать

Автор: compiler 22.06.2007 20:43

Цитата(мисс_граффити @ 21.06.2007 0:51) *
так лучше не делать
вместо i используем n (на всякий случай...), что нибудь еще?