**recursive** **function** max_e11(a2d, i, j, acc) **result**(a)
integer, dimension(20, 20) :: a2d
integer :: i, j, acc, a, accm **=** 0
integer :: dia_l **=** 0, dia_r **=** 0, hori **=** 0, vert **=** 0
integer :: k **=** 0, x **=** 1, y **=** 1
integer :: lenx **=** 20, leny **=** 20
**if** (i **<=** (lenx **-** 3)) **then**
hori **=** 1
**do** k **=** 0, 3
hori **=** hori*****a2d(i**+**k, j)
**end do**
**end if**
**if** (j **<=** (leny **-** 3)) **then**
vert **=** 1
**do** k **=** 0, 3
vert **=** vert*****a2d(i, j**+**k)
**end do**
**end if**
**if** ((i **<=** (lenx **-** 3)) **.and.** (j **<=** (leny **-** 3))) **then**
dia_r **=** 1
**do** k **=** 0, 3
dia_r **=** dia_r*****a2d(i**+**k, j**+**k)
**end do**
**end if**
**if** ((i **>=** 4) **.and.** (j **<=** (leny **-** 3))) **then**
dia_l **=** 1
**do** k **=** 0, 3
dia_l **=** dia_l*****a2d(i**-**k, j**+**k)
**end do**
**end if**
**if** ((i **==** lenx) **.and.** (j **==** leny)) **then**
a **=** acc
**else**
accm **=** **max**(acc, hori, vert, dia_l, dia_r)
**if** (i **==** lenx) **then**
x **=** 1
y **=** j **+** 1
**else**
x **=** i **+** 1
y **=** j
**end if**
a **=** max_e11(a2d, x, y, accm)
**end if**
**end function** max_e11
**program** main
**implicit** **none**
integer :: p_max, p_count, i, j
integer(kind = 16) :: p_sum
logical, ALLOCATABLE, DIMENSION(:) :: is_prime
character(len=128) :: currentDir
integer, dimension(20, 20) :: D, M
integer :: max_e11
**call** **GET_ENVIRONMENT_VARIABLE**('PWD', currentDir)
print *****, "dir == ", **trim**(currentDir)
open(1, file **=** "t.txt", status **=** "old")
read(1, *) D
close(1)
M **=** **transpose**(D)
write(*, *) M(1, 1)
write(*, *) max_e11(M, 1, 1, 0)
write(*, *) M(1, 1)
**end program** main

— Me@2022-12-24 11:50:15 AM

.

.

2022.12.24 Saturday (c) All rights reserved by ACHK

You must be logged in to post a comment.