Показать сообщение отдельно
Старый 21.05.2013, 12:19   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну вроде так:
Код:
Uses CRT;
Type
 Mas1=array[1..9,1..5] of real;
 Mas2=array[1..5] of real;
 Mas3=array[1..5,1..5] of real;

var
 a:Mas1;
 Mu:Mas2;
 Dz:Mas3;
 p,q:Integer;

procedure fill_massive(var FM:Mas1);
var i,j:Integer;
begin
 for i:=1 to 9 do
  for j:=1 to 5 do
   begin
    write('a[',i,',',j,']= ');
    readln(FM[i,j]);
   end;
end;

procedure average_meaning(AM1:Mas1; var AM2:Mas2);
var i,j:Integer;
begin
 for j:=1 to 5 do AM2[j]:=0;
 for j:=1 to 5 do
  for i:=1 to 9 do
   AM2[j]:=AM2[j]+AM1[i,j]/9;
end;

procedure Correlation(C1:Mas1; C2:Mas2; var C3:Mas3);
var i,j,k:Integer;
begin
 for i:=1 to 5 do
  for j:=1 to 5 do
   C3[i,j]:=0;
 for j:=1 to 5 do
  for k:=1 to 5 do
   for i:=1 to 9 do
    C3[j,k]:=C3[j,k]+(C1[i,j]-C2[j])*(C1[i,k]-C2[k])/9;
end;

Begin
 ClrScr;
 fill_massive(a);
 average_meaning(a,Mu);
 Correlation(a,Mu,Dz);
 ClrScr;
 Writeln('Initial matrix:');
 For p:=1 to 9 do
  begin
   For q:=1 to 5 do write(a[p,q]:8:3);
   Writeln;
  end;
 Writeln;
 Writeln('Correlation matrix:');
 For p:=1 to 5 do
  begin
   For q:=1 to 5 do write(Dz[p,q]:10:3);
   Writeln;
  end;
 ReadKey
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070