program enshu05d
implicit none
integer :: seireki,joutai,nensuu
real,dimension(12) :: kion
real :: kion_nen_heikin,kion_nen_souwa
real :: kion_nen_bunsan,kion_nen_hensa
real :: kion2_nen_souwa,kion2_nen_heikin
real,dimension(12) :: kion_tsuki_heikin,kion_tsuki_souwa
real,dimension(12) :: kion_tsuki_bunsan,kion_tsuki_hensa
real,dimension(12) :: kion2_tsuki_heikin,kion2_tsuki_souwa
real,dimension(12,12) :: seki_souwa,seki_heikin,soukan
integer :: i,j
do i = 1,12
kion_tsuki_souwa(i) = 0.0
kion2_tsuki_souwa(i) = 0.0
end do
do i = 1,12
do j = 1,12
seki_souwa(i,j) = 0.0
end do
end do
nensuu = 0
do
read(*,'(i4,12f5.1)',iostat=joutai)seireki,kion
if (joutai /= 0) exit
nensuu = nensuu + 1
kion_nen_souwa = 0.0
kion2_nen_souwa = 0.0
do i = 1,12
kion_nen_souwa = kion_nen_souwa + kion(i)
kion2_nen_souwa = kion2_nen_souwa + kion(i)**2
kion_tsuki_souwa(i) = kion_tsuki_souwa(i) + kion(i)
kion2_tsuki_souwa(i) = kion2_tsuki_souwa(i) + kion(i)**2
do j = 1,12
seki_souwa(i,j) = seki_souwa(i,j) + kion(i)*kion(j)
end do
end do
kion_nen_heikin = kion_nen_souwa/12.0
kion2_nen_heikin = kion2_nen_souwa/12.0
kion_nen_bunsan = kion2_nen_heikin-kion_nen_heikin**2
kion_nen_hensa = sqrt(kion_nen_bunsan)
write(*,'(i4,13f6.1,2f6.2)')seireki,kion,kion_nen_heikin &
,kion_nen_bunsan,kion_nen_hensa
end do
do i = 1,12
kion_tsuki_heikin(i) = kion_tsuki_souwa(i)/real(nensuu)
kion2_tsuki_heikin(i) = kion2_tsuki_souwa(i)/real(nensuu)
kion_tsuki_bunsan(i) = kion2_tsuki_heikin(i) - kion_tsuki_heikin(i)**2
kion_tsuki_hensa(i) = sqrt(kion_tsuki_bunsan(i))
end do
do j = 1,12
do i = 1,12
seki_heikin(i,j) = seki_souwa(i,j)/real(nensuu)
soukan(i,j) &
= (seki_heikin(i,j)-kion_tsuki_heikin(i)*kion_tsuki_heikin(j)) &
/kion_tsuki_hensa(i)/kion_tsuki_hensa(j)
end do
end do
write(*,'(i4,12f6.2)')nensuu,kion_tsuki_heikin
write(*,'(i4,12f6.2)')nensuu,kion_tsuki_bunsan
write(*,'(i4,12f6.2)')nensuu,kion_tsuki_hensa
write(*,'(2x,12i7)')(j,j=1,12)
do i = 1,12
write(*,'(i2,12f7.3)')i,soukan(i,1:12)
end do
end program enshu05d