![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() НЕ могу найти среж\днее значение . данные забиты в массиве. а правильно считать - не хочет. в Чём Ошибка ??
Вот: Код:
rocedure TForm1.Button_calcClick(Sender: TObject); var k,i,j,s:integer; g:real; begin k:=0; s:=0; g:=0; for i:=1 to n do begin for j:=1 to m do begin s:=s+a[i,j]; k:=k+1; end; g:=s/k; memo3.Lines.Add(FloatToStr(g)); k:=0; s:=0; g:=0; end; Button_calc.Enabled:=False; end; Последний раз редактировалось Admin, 29.09.2010 в 14:46. |
#2
|
||||
|
||||
![]() матрица как я понимаю NxM значит k= NxM
зачем его считать в цикле? насколько я помню массивы в oPascal начинаются с нуля т.е. мой вариант таков: Код:
for i:=0 to n do for j:=0 to m do summ:=summ+a[i,j]; k:=n*m; SrSumm:=Summ/k; |
#3
|
|||
|
|||
![]() массивы могут начинаться с любого числа - как опишешь, так и будет.
так что мой вариант среднего для строки такой: Код:
var i, j : Integer; s : double; begin for i := Low(a) to high(a) do begin s := 0; for j := low(a[i]) to high(a[i]) do s := s + a[i,j]; memo3.Lines.Add(FloatToStr(s/length(a[i])); end; end; |