Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Delphi


Автор: KtyfG 31.5.2010, 18:44
Помогите, пожалуйста! Определить элемент, имеющий минимальное отклонение от среднего значения элементов массива на языке Delphi. Среднюю арифметическу я уже нашла

Код

procedure TForm2.Button1Click(Sender: TObject);
var
a:array[1..5] of integer; // массив целых
i: integer; //индекс элемента массива
sr:real; //среднее из массива
summ: real; //сумма массива
begin
//ввод массива
for i := 1 to 5 do
if Length(StringGrid1.Cells[i-1,0])<>0
then a[i]:=StrToInt(StringGrid1.Cells[i-1,0]);

//нахождение среднего из массива
summ:=0;
for i := 1 to 5 do
summ:=summ+a[i];
sr:=summ/5;


Что дальше?


M
THandle
Модератор: используйте подсветку кода!


Автор: Данкинг 31.5.2010, 19:41
Что именно не получается? Показывай свой код. smile 

Автор: KtyfG 31.5.2010, 21:02
Люди, будь человечными, ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!! А то я свихнусь с этой фигней! smile  

Автор: superVad 1.6.2010, 09:18
Ищешь модуль разницы всех элементов с этим средним значением - у кого это число меньше, тот нам и надо.
Можно так же еще учитывать момент, что чисел с одинаковым отклонением может быть несколько - но кому это нада smile

Автор: x128 1.6.2010, 09:52
как-то так:
Код

//минимальное отклонение от среднего значения элементов массива
err:=maxint;
for i := 1 to 5 do begin
  e:=sqrt(sqr(sr-a[i])); //квадратичное отклонение
  //e:=abs(sr-a[i]); //абсолютное отклонение
  if e<err then begin
    err:=e;
    pos:=i;
  end;
end;

в err будет минимальное отклонение, а в pos позиция элемента в массиве.

Автор: THandle 1.6.2010, 19:20

 ! 
THandle
Модератор: Название темы должно отражать ее суть!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)