Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
38
Task/String-case/Fortran/string-case-1.f
Normal file
38
Task/String-case/Fortran/string-case-1.f
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
program example
|
||||
|
||||
implicit none
|
||||
|
||||
character(9) :: teststring = "alphaBETA"
|
||||
|
||||
call To_upper(teststring)
|
||||
write(*,*) teststring
|
||||
call To_lower(teststring)
|
||||
write(*,*) teststring
|
||||
|
||||
contains
|
||||
|
||||
subroutine To_upper(str)
|
||||
character(*), intent(in out) :: str
|
||||
integer :: i
|
||||
|
||||
do i = 1, len(str)
|
||||
select case(str(i:i))
|
||||
case("a":"z")
|
||||
str(i:i) = achar(iachar(str(i:i))-32)
|
||||
end select
|
||||
end do
|
||||
end subroutine To_upper
|
||||
|
||||
subroutine To_lower(str)
|
||||
character(*), intent(in out) :: str
|
||||
integer :: i
|
||||
|
||||
do i = 1, len(str)
|
||||
select case(str(i:i))
|
||||
case("A":"Z")
|
||||
str(i:i) = achar(iachar(str(i:i))+32)
|
||||
end select
|
||||
end do
|
||||
end subroutine To_Lower
|
||||
|
||||
end program example
|
||||
8
Task/String-case/Fortran/string-case-2.f
Normal file
8
Task/String-case/Fortran/string-case-2.f
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
SUBROUTINE UPCASE(TEXT)
|
||||
CHARACTER*(*) TEXT
|
||||
INTEGER I,C
|
||||
DO I = 1,LEN(TEXT)
|
||||
C = INDEX("abcdefghijklmnopqrstuvwxyz",TEXT(I:I))
|
||||
IF (C.GT.0) TEXT(I:I) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"(C:C)
|
||||
END DO
|
||||
END
|
||||
3
Task/String-case/Fortran/string-case-3.f
Normal file
3
Task/String-case/Fortran/string-case-3.f
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
DO I = 1,LEN(TEXT)
|
||||
TEXT(I:I) = XLATUC(ICHAR(TEXT(I:I)))
|
||||
END DO
|
||||
76
Task/String-case/Fortran/string-case-4.f
Normal file
76
Task/String-case/Fortran/string-case-4.f
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
module uplow
|
||||
implicit none
|
||||
character(len=26), parameter, private :: low = "abcdefghijklmnopqrstuvwxyz"
|
||||
character(len=26), parameter, private :: high = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
contains
|
||||
|
||||
function to_upper(s) result(t)
|
||||
! returns upper case of s
|
||||
implicit none
|
||||
character(len=*), intent(in) :: s
|
||||
character(len=len(s)) :: t
|
||||
|
||||
character(len=1), save :: convtable(0:255)
|
||||
logical, save :: first = .true.
|
||||
integer :: i
|
||||
|
||||
if(first) then
|
||||
do i=0,255
|
||||
convtable(i) = char(i)
|
||||
enddo
|
||||
do i=1,len(low)
|
||||
convtable(iachar(low(i:i))) = char(iachar(high(i:i)))
|
||||
enddo
|
||||
first = .false.
|
||||
endif
|
||||
|
||||
t = s
|
||||
|
||||
do i=1,len_trim(s)
|
||||
t(i:i) = convtable(iachar(s(i:i)))
|
||||
enddo
|
||||
|
||||
end function to_upper
|
||||
|
||||
function to_lower(s) result(t)
|
||||
! returns lower case of s
|
||||
implicit none
|
||||
character(len=*), intent(in) :: s
|
||||
character(len=len(s)) :: t
|
||||
|
||||
character(len=1), save :: convtable(0:255)
|
||||
logical, save :: first = .true.
|
||||
integer :: i
|
||||
|
||||
if(first) then
|
||||
do i=0,255
|
||||
convtable(i) = char(i)
|
||||
enddo
|
||||
do i = 1,len(low)
|
||||
convtable(iachar(high(i:i))) = char(iachar(low(i:i)))
|
||||
enddo
|
||||
first = .false.
|
||||
endif
|
||||
|
||||
t = s
|
||||
|
||||
do i=1,len_trim(s)
|
||||
t(i:i) = convtable(iachar(s(i:i)))
|
||||
enddo
|
||||
|
||||
end function to_lower
|
||||
|
||||
|
||||
end module uplow
|
||||
|
||||
|
||||
program doit
|
||||
use uplow
|
||||
character(len=40) :: s
|
||||
|
||||
s = "abcdxyz ZXYDCBA _!@"
|
||||
print *,"original: ",'[',s,']'
|
||||
print *,"to_upper: ",'[',to_upper(s),']'
|
||||
print *,"to_lower: ",'[',to_lower(s),']'
|
||||
|
||||
end program doit
|
||||
Loading…
Add table
Add a link
Reference in a new issue