I'm trying to write a Merge Sort program with fortran 90. However, this is what I already could do:(adsbygoogle = window.adsbygoogle || []).push({});

It starts as it was planed, but after typing in the numbers, I get an error message. So, can anyone help me? Where is the bug?Code (Text):program sorting

integer :: i,ialloc,error,n,d

integer, pointer :: a(:)

Print *,'How many numbers would you like to type in?'

Read(*,*)d

Print*,' Enter the values, separated by commas'

Read(*,*)(a(t),t=1, d)

!Result

call Merge(a,b,c,m,n)

print *,'Sorted list:'

write(*,*) (a(i),i=0,n-1)

print *,' '

end program sorting

!Merge Sorting of a() of dimension m and b() of dimension n

!into c() of size m+n=d

Subroutine Merge(a,b,c,m,n)

integer :: m,n,a(0:m-1),b(0:n-1),c(0:m+n-1)

integer :: i,j,k,d

i=0; j=0; k=0 !Start

do while (i<m.and.j<n)

if (a(i)<b(j)) then

c(k)=a(i)

i=i+1

else

c(k)=b(j)

j=j+1

end if

k=k+1

end do

do while (i<m) !pick up any remainder

c(k)=a(i)

k=k+1; i=i+1

end do

do while (j<n)

c(k)=b(j)

k=k+1; j=j+1

end do

return

End

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Merge sorting

**Physics Forums | Science Articles, Homework Help, Discussion**