53 lines
1.2 KiB
Fortran
53 lines
1.2 KiB
Fortran
|
|
program dynamic_array_maximum_3d
|
||
|
|
implicit none
|
||
|
|
integer :: n1, n2, n3, n4 , k, i, j, l, a
|
||
|
|
integer :: sum3
|
||
|
|
real :: max_element
|
||
|
|
real, allocatable :: array(:,:,:), array2(:,:,:), array3(:,:,:)
|
||
|
|
|
||
|
|
write(*, *) "Enter 3 integers"
|
||
|
|
read(*, *) n, m, k
|
||
|
|
m = 100
|
||
|
|
|
||
|
|
if (1 .eq. 1) then
|
||
|
|
a = 3
|
||
|
|
else if (2 .eq. 1) then
|
||
|
|
a = 4
|
||
|
|
endif
|
||
|
|
|
||
|
|
m = m + 1
|
||
|
|
k = m * 1000 + n * 10
|
||
|
|
|
||
|
|
allocate(array(n, m + n, k + m + n), &
|
||
|
|
&array2(k, m + n, k), &
|
||
|
|
&array3(k, m, k + n))
|
||
|
|
|
||
|
|
call random_seed()
|
||
|
|
do i = 1, n1
|
||
|
|
do j = 1, m * n1
|
||
|
|
do l = 1, k * m * n1
|
||
|
|
call random_number(array(i,j,l))
|
||
|
|
array(i,j,l) = int(array(i,j,l) * 100)
|
||
|
|
end do
|
||
|
|
end do
|
||
|
|
end do
|
||
|
|
|
||
|
|
max_element = array(1,1,1)
|
||
|
|
do i = 1, n1
|
||
|
|
do j = 1, m
|
||
|
|
do l = 1, k
|
||
|
|
max_element = MAX(array(i,j,l), max_element)
|
||
|
|
end do
|
||
|
|
end do
|
||
|
|
end do
|
||
|
|
deallocate(array, array2, array3)
|
||
|
|
write(*, *) max_element
|
||
|
|
end program dynamic_array_maximum_3d
|
||
|
|
|
||
|
|
! function sum3(x, y, z)
|
||
|
|
! implicit none
|
||
|
|
! integer :: x, y, z
|
||
|
|
! integer :: sum3
|
||
|
|
! sum3 = x + y + z
|
||
|
|
! end function sum3
|