![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем привет. Помогите плиз разобраться с лажовой задачей. Вроде все правильно а работает вообще не так как надо (выдает не верный результат)Можете просто другое решение дать.
Задание Определить элемент, имеющий минимальное отклонение от среднего значения элементов массива. Код:
procedure TForm1.Button1Click(Sender: TObject);
var
m:array[1..10] of integer;
i:integer;
s:real;
c:integer;
t:integer;
begin
s:=0;
c:=0;
t:=100;
Label2.Caption:='';
for i:=1 to 10 do
begin
randomize;
m[i]:=random(10);
Label2.Caption:= Label2.Caption+inttostr(m[i])+' ';
c:=c+m[i];
end;
s:= c div i;
for i:=1 to 10 do
if abs(s-m[i])<t then
t:=m[i];
Label1.Caption:='Среднее значение равно '+floattostr(s);
Edit1.Text:=inttostr(t);Спасибо. Последний раз редактировалось Admin, 02.12.2009 в 16:56. |
|
#2
|
||||
|
||||
|
пиши s:= c / 10;
вместо s:= c div i; |
|
#3
|
|||
|
|||
|
Читай внимательно задание =)
Спрашивается элемент, а не само значение отклонения |
|
#4
|
|||
|
|||
|
все равно не правильно работает
|
|
#5
|
|||
|
|||
|
так я и ищу элемент - t
|
|
#6
|
|||
|
|||
|
Я понял в чем дело
if abs(s-m[i])<t then t:=m[i]; вместо t надо abs(s-t) вставить!!извините за тупую тему closeПоследний раз редактировалось Goodi52, 02.12.2009 в 18:15. |