program sortowanie_babelkowe implicit none ! program implementujacy algorytm sortowania ! babelkowego z uzyciem podprogramow real, allocatable, dimension(:) :: a integer :: n write(*,*) 'Ile liczb mam posortowac?' read(*,*) n allocate(a(n)) call wczytaj(a, n) write(*,*)'Liczby do posortowania:' call wypisz(a, n) call posortuj(a, n) write(*,*)'Liczby po posortowaniu:' call wypisz(a, n) end program sortowanie_babelkowe subroutine wczytaj(wektor, rozmiar) real :: wektor(rozmiar) integer :: rozmiar, i do i = 1, rozmiar write(*,*)'Podaj', i, 'liczbe' read(*,*) wektor(i) end do end subroutine wczytaj subroutine wypisz(wektor, rozmiar) real :: wektor(rozmiar) integer :: rozmiar, i write(*,*) (wektor(i), i = 1, rozmiar) end subroutine wypisz subroutine posortuj(wektor, rozmiar) real :: wektor(rozmiar) integer :: rozmiar, i, j do i = 1, rozmiar - 1 do j = i+1 , rozmiar if (wektor(i) .gt. wektor(j)) then call swap(wektor(i), wektor(j)) end if end do end do end subroutine posortuj subroutine swap(liczba_1, liczba_2) real :: liczba_1, liczba_2, tmp tmp = liczba_1 liczba_1 = liczba_2 liczba_2 = tmp end subroutine swap