# Write a program that shows the dynamic memory allocation? - FORTRAN

### Write a program that shows the dynamic memory allocation?

- Dynamic memory allocation is an essential part as it makes the program more flexible and provides lots of operations to be used.

- This program doesnâ€™t contain the DO loops and IF/THEN statements that is used to manipulating the array.

- It consists of mathematical operations that are applied on the complete system including the array and provide the coding in a structured way.

- The program is shown as:

program average

implicit none

real, dimension(:), allocatable :: points

integer :: number_of_points

real :: average_points=0., positive_average=0., negative_average=0.

write (*,*) "Input number of points to average:"

read (*,*) number_of_points

allocate (points(number_of_points))

write (*,*) "Enter the points to average:"

read (*,*) points

if (number_of_points > 0) average_points = sum(points) / number_of_points

if (count(points < 0.) > 0) then

negative_average = sum(points, points < 0.) / count(points < 0.)

end if

deallocate (points)

write (*,'(a,g12.4)') 'Average = ', average_points