PROGRAM ASSIG1

 

IMPLICIT NONE

 

CHARACTER(75) :: MyString

 

CHARACTER(2) :: String2

 

INTEGER :: CountMain

 

CHARACTER :: Flag

 

DO

 

            PRINT *, "Enter a CHARACTER String (MyString) of length less &

            &than or equal to 75."

 

            READ *, MyString

 

            PRINT *, "Enter a CHARACTER string of length 2 (String2) to count how &

            &many times it shows up in the string stored in MyString."

 

            READ *, String2

 

            CountMain=StringSearch(MyString, String2)

 

            PRINT *, String2, " shows up ", CountMain, " times."

 

            PRINT *, 'Continue? If not, press "n" or "N"; else press any other key.'

 

            READ *, Flag

 

            IF ((Flag=="n") .OR. (Flag=="N")) EXIT

 

END DO        

 

CONTAINS

 

            FUNCTION StringSearch(St, St2)

 

                        INTEGER :: StringSearch, i

 

                        CHARACTER(75), INTENT(IN) :: St

                       

                        CHARACTER(2), INTENT(IN) :: St2

 

                        CHARACTER(2) :: Strng

           

                        StringSearch=0

 

                        DO i=1, 74

 

                                    Strng=St(I: I+1)

 

                                    IF (Strng==St2) THEN

 

                                                StringSearch=StringSearch+1

 

                                    END IF

 

                        END DO

 

            END FUNCTION StringSearch

 

END PROGRAM  ASSIG1