Fortran90(多次元配列その3)

配列の値を表示するのにwriteを使うため、doで繰り返し制御していましたが、簡単な書き方があるようです。使ってみます。
まずは、今までのdoでwriteを繰り返し実行する方法。

takk@deb9:~$ cat arr1.f90
      program main
        integer a(5)
        data a /1,2,3,4,5/

        do i=1,5
          write(*,*) a(i)
        end do

        stop
      end
takk@deb9:~$ gfortran arr1.f90
takk@deb9:~$ ./a.out
           1
           2
           3
           4
           5
takk@deb9:~$

次にdoを使わず、writeに指定する変数に指定する方法。do型反復というらしいです。

a(i)の部分を、
(a(i),i=1,5)に置き換えます。

takk@deb9:~$ cat arr2.f90
      program main
        integer a(5)
        data a /1,2,3,4,5/

        write(*,*) (a(i),i=1,5)

        stop
      end
takk@deb9:~$ gfortran arr2.f90
takk@deb9:~$ ./a.out
           1           2           3           4           5
takk@deb9:~$

タブ区切りで全要素表示されました。
これはこれで良いのですが、改行して表示したい場合どうすれば良いでしょう。

takk@deb9:~$ cat arr3.f90
      program main
        integer a(5)
        data a /1,2,3,4,5/

        write(*,10010) (a(i),i=1,5)

        stop
10010 format(I3)
      end
takk@deb9:~$ gfortran arr3.f90
takk@deb9:~$ ./a.out
  1
  2
  3
  4
  5
takk@deb9:~$

formatで指定するだけでした。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA