      program kat
c
c Program oblicza cosinus kierunkowy pomiedzy wektorami a i b danymi w tablicach
c odpowiednio a(3) i b(3) zgodnie z wzorem:
c
c            a  * b
c cos(a,b) = -------
c            |a| |b|
c
c gdzie "*" oznacza mnozenie skalarne a |x| norme euklidesowa wektora x.
c
      implicit none
      integer i
      double precision a(3),b(3),ab,anorma,bnorma,cosa
c
c Wczytujemy dane
c
      print *,"Podaj wspolrzedne wektora a"
      read (*,*) (a(i),i=1,3)
      print *,"Podaj wspolrzedne wektora b"
      read (*,*) (b(i),i=1,3)
c Obliczamy iloczyn skalarny
      ab=0.0d0
      do i=1,3
        ab=ab+a(i)*b(i)
      enddo
c Obliczamy normy wektorow a i b
      anorma=0.0d0
      do i=1,3
        anorma=anorma+a(i)*a(i)
      enddo
      anorma=dsqrt(anorma)
      bnorma=0.0d0
      do i=1,3
        bnorma=bnorma+b(i)*b(i)
      enddo
      bnorma=dsqrt(bnorma)
c Obliczamy cosinus kierunkowy i drukujemy wynik
      cosa=ab/(anorma*bnorma)
      print *,"Cosinus kierunkowy wynosi",cosa
      stop
      end
