new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
43
Task/Caesar-cipher/Fortran/caesar-cipher.f
Normal file
43
Task/Caesar-cipher/Fortran/caesar-cipher.f
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
program Caesar_Cipher
|
||||
implicit none
|
||||
|
||||
integer, parameter :: key = 3
|
||||
character(43) :: message = "The five boxing wizards jump quickly"
|
||||
|
||||
write(*, "(2a)") "Original message = ", message
|
||||
call encrypt(message)
|
||||
write(*, "(2a)") "Encrypted message = ", message
|
||||
call decrypt(message)
|
||||
write(*, "(2a)") "Decrypted message = ", message
|
||||
|
||||
contains
|
||||
|
||||
subroutine encrypt(text)
|
||||
character(*), intent(inout) :: text
|
||||
integer :: i
|
||||
|
||||
do i = 1, len(text)
|
||||
select case(text(i:i))
|
||||
case ('A':'Z')
|
||||
text(i:i) = achar(modulo(iachar(text(i:i)) - 65 + key, 26) + 65)
|
||||
case ('a':'z')
|
||||
text(i:i) = achar(modulo(iachar(text(i:i)) - 97 + key, 26) + 97)
|
||||
end select
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
subroutine decrypt(text)
|
||||
character(*), intent(inout) :: text
|
||||
integer :: i
|
||||
|
||||
do i = 1, len(text)
|
||||
select case(text(i:i))
|
||||
case ('A':'Z')
|
||||
text(i:i) = achar(modulo(iachar(text(i:i)) - 65 - key, 26) + 65)
|
||||
case ('a':'z')
|
||||
text(i:i) = achar(modulo(iachar(text(i:i)) - 97 - key, 26) + 97)
|
||||
end select
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
end program Caesar_Cipher
|
||||
Loading…
Add table
Add a link
Reference in a new issue