|
Revision 767, 0.7 kB
(checked in by jbking, 6 years ago)
|
|
lang/fortran/misc/*.f: added doukaku posted code
|
| Line | |
|---|
| 1 | program main |
|---|
| 2 | call pyramid(1) |
|---|
| 3 | write(*,*) |
|---|
| 4 | call pyramid(2) |
|---|
| 5 | write(*,*) |
|---|
| 6 | call pyramid(3) |
|---|
| 7 | write(*,*) |
|---|
| 8 | call pyramid(4) |
|---|
| 9 | write(*,*) |
|---|
| 10 | call pyramid(5) |
|---|
| 11 | end |
|---|
| 12 | |
|---|
| 13 | subroutine pyramid(height) |
|---|
| 14 | integer width, height, w |
|---|
| 15 | w = (height - 1) |
|---|
| 16 | width = w * 2 + 1 |
|---|
| 17 | do i = 1, height |
|---|
| 18 | call draw(' ', w - i + 1) |
|---|
| 19 | call draw('*', i - 1) |
|---|
| 20 | write(*, '(a$)') '*' |
|---|
| 21 | call draw('*', i - 1) |
|---|
| 22 | call draw(' ', w - i + 1) |
|---|
| 23 | write(*,*) |
|---|
| 24 | end do |
|---|
| 25 | end |
|---|
| 26 | |
|---|
| 27 | subroutine draw(c, count) |
|---|
| 28 | character c |
|---|
| 29 | integer count |
|---|
| 30 | do i=1, count |
|---|
| 31 | write(*, '(a$)') c |
|---|
| 32 | end do |
|---|
| 33 | end |
|---|