[COLOR=#a020f0]program[/color] denisedede
[COLOR=#2e8b57][b]implicit[/b][/color] [COLOR=#2e8b57][b]none[/b][/color]
[COLOR=#2e8b57][b] real[/b][/color], [COLOR=#2e8b57][b]dimension[/b][/color](:,:), [COLOR=#2e8b57][b]allocatable[/b][/color] :: centre_point
[COLOR=#2e8b57][b] real[/b][/color], [COLOR=#2e8b57][b]dimension[/b][/color](:), [COLOR=#2e8b57][b]allocatable[/b][/color] :: radius
[COLOR=#2e8b57][b] real[/b][/color] :: x, y, r, d, centre_x, centre_y
[COLOR=#2e8b57][b]integer[/b][/color] :: n, n1, n2, i, j, k
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color]) [COLOR=#ff00ff]'Coordinates of rectangle area 0 --> X, 0 --> Y: '[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color], [COLOR=#804040][b]advance[/b][/color][COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]'no'[/color]) [COLOR=#ff00ff]' X = '[/color]
[COLOR=#804040][b]read[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color]) x
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color], [COLOR=#804040][b]advance[/b][/color][COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]'no'[/color]) [COLOR=#ff00ff]' Y = '[/color]
[COLOR=#804040][b]read[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color]) y
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color]) [COLOR=#ff00ff]'Initial Radius of the circles'[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color], [COLOR=#804040][b]advance[/b][/color][COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]'no'[/color]) [COLOR=#ff00ff]' R = '[/color]
[COLOR=#804040][b]read[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color]) r
[COLOR=#0000ff]! initial diameter[/color]
d [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]2[/color][COLOR=#804040][b]*[/b][/color]r
[COLOR=#0000ff]! number of circles in direction X[/color]
n1 [COLOR=#804040][b]=[/b][/color] x[COLOR=#804040][b]/[/b][/color]d
[COLOR=#0000ff]! number of circles in direction Y[/color]
n2 [COLOR=#804040][b]=[/b][/color] y[COLOR=#804040][b]/[/b][/color]d
[COLOR=#0000ff]! number of all circles[/color]
n [COLOR=#804040][b]=[/b][/color] n1[COLOR=#804040][b]*[/b][/color]n2
[COLOR=#0000ff]! allocate arrays[/color]
[COLOR=#804040][b]allocate[/b][/color](centre_point(n,[COLOR=#ff00ff]2[/color]))
[COLOR=#804040][b]allocate[/b][/color](radius(n))
[COLOR=#0000ff]! compute centre points for circles[/color]
k [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]0[/color]
[COLOR=#804040][b]do[/b][/color] j[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color], n2
centre_y [COLOR=#804040][b]=[/b][/color] ([COLOR=#ff00ff]2[/color][COLOR=#804040][b]*[/b][/color]j[COLOR=#804040][b]-[/b][/color][COLOR=#ff00ff]1[/color])[COLOR=#804040][b]*[/b][/color]r
[COLOR=#804040][b]do[/b][/color] i[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color], n1
k [COLOR=#804040][b]=[/b][/color] k [COLOR=#804040][b]+[/b][/color] [COLOR=#ff00ff]1[/color]
centre_x [COLOR=#804040][b]=[/b][/color] ([COLOR=#ff00ff]2[/color][COLOR=#804040][b]*[/b][/color]i[COLOR=#804040][b]-[/b][/color][COLOR=#ff00ff]1[/color])[COLOR=#804040][b]*[/b][/color]r
centre_point(k,[COLOR=#ff00ff]1[/color]) [COLOR=#804040][b]=[/b][/color] centre_x
centre_point(k,[COLOR=#ff00ff]2[/color]) [COLOR=#804040][b]=[/b][/color] centre_y
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#0000ff]! compute radiuses [/color]
[COLOR=#804040][b]do[/b][/color] i[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color], n
radius(i) [COLOR=#804040][b]=[/b][/color] r
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color]) [COLOR=#ff00ff]'Circles computed:'[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]100[/color]) n1, n2, n
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color])
[COLOR=#804040][b]do[/b][/color] k[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color], n
[COLOR=#0000ff]! print k-th circle[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]200[/color]) k, centre_point(k,[COLOR=#ff00ff]1[/color]), centre_point(k,[COLOR=#ff00ff]2[/color]), radius(k)
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#0000ff]! at end deallocate all arrays[/color]
[COLOR=#804040][b]deallocate[/b][/color](centre_point)
[COLOR=#804040][b]deallocate[/b][/color](radius)
[COLOR=#0000ff]! formats[/color]
[COLOR=#6a5acd]100[/color] [COLOR=#804040][b]format[/b][/color] ([COLOR=#ff00ff]'N1 = '[/color],i2,[COLOR=#ff00ff]', N2 = '[/color],i2,[COLOR=#ff00ff]', N = '[/color],i2)
[COLOR=#6a5acd]200[/color] [COLOR=#804040][b]format[/b][/color] ([COLOR=#ff00ff]'Circle'[/color],i2,[COLOR=#ff00ff]': C = ('[/color],[COLOR=#008080]f5.2[/color],[COLOR=#ff00ff]','[/color],[COLOR=#008080]f5.2[/color],[COLOR=#ff00ff]'), R ='[/color],[COLOR=#008080]f5.2[/color])
[COLOR=#a020f0]end program[/color] denisedede