# Need Help with my Fortran Code

1. Mar 9, 2013

### rk2ray

Trying to write a single Fortran program that calculates the arithmetic mean, rms (root-mean-square) average, geometric mean, and harmonic mean for a set of numbers (for example - 4 4 4 4 4).

I don't know if I am doing the write way. Please guide me.

PROGRAM ComputingMeans

IMPLICIT NONE

INTEGER :: Count
INTEGER :: Valid
INTEGER :: i

REAL :: Item
REAL :: Arithmetic, Geometric, Harmonic ! Arithmetic, geometric and harmonic mean

WRITE(*,*) "Write count of items:"

! Reads items and computes arithmetic, geometric and harmonic mean
Valid = 0
Arithmetic = 0.
Geometric = 1.
Harmonic = 0.
DO i = 1, Count
WRITE(*,*) "Write items:"
IF (Item > 0) THEN
Valid = Valid + 1
Arithmetic = Arithmetic + Item
Geometric = Geometric * Item
Harmonic = Harmonic + (1 / Item)
END IF
END DO

! Writes results on screen
IF (Valid > 0) THEN
WRITE(*,"(A,I3,A)") "Count of valid items: ", Valid, "."
Arithmetic = Arithmetic / Valid
Geometric = Geometric**(1./Valid)
Harmonic = Valid / Harmonic
WRITE(*,"(A,F9.6,A)") "Arithmetic mean: ", Arithmetic, "."
WRITE(*,"(A,F9.6,A)") "Geometric mean: ", Geometric, "."
WRITE(*,"(A,F9.6,A)") "Harmonic mean: ", Harmonic, "."
ELSE
WRITE(*,*) "ERROR: None of the input is positive!"
END IF

END PROGRAM ComputingMeans

2. Mar 9, 2013

### gsal

do you know how to calculate such quantities by hand?
then,
pick a sequence, preferably not 4 4 4 4 4, but another sequence with different numbers
calculate the quantities by hand
provide the sequence
see what your program calculates and how it compares to the answers
that's easy
then, what might get difficult is go back and figure out why something may not be right

other than that, your "please guide me" request seems way too general for somebody who wrote the program as shown...no specifics whatsoever? that's odd.

3. Mar 9, 2013

### SteamKing

Staff Emeritus
The write way is wrong. The right way is right.

4. Mar 9, 2013

### rk2ray

I am aware of the hand calculations.

I am new to fortran programming language and I have written basic programs for average calculation of three number.

But I am stuck with this.

I was trying to write single Fortran program that calculates the arithmetic mean, rms (root-mean-square) average, geometric mean, and harmonic mean for a set of numbers. (that can be 4 4 4 4 4 or 1 2 3 4 5 6 7 or 4, 1, 4, 7, 4, 1, 7).

I have been trying to write it but I'm not able to get it.

5. Mar 9, 2013

### AlephZero

As gsal said, tell us exactly what you are "stuck" with.

I can't see any obvious mistakes in the code that you posted.