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