File: file_07.f90

package info (click to toggle)
lfortran 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,332 kB
  • sloc: cpp: 137,068; f90: 51,260; python: 6,444; ansic: 4,277; yacc: 2,285; fortran: 806; sh: 524; makefile: 30; javascript: 15
file content (36 lines) | stat: -rw-r--r-- 1,122 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
program file_07
    implicit none

    integer :: u = 11, i, j, k
    integer, allocatable :: int_arr(:, :)
    real, allocatable :: real_arr(:, :, :)
    integer :: int_arr_rows, int_arr_cols, real_arr_rows, real_arr_cols, real_arr_height

    open(u, file="file_07_data.dat", form="unformatted", access="stream", status="old")
    read(u) int_arr_rows, int_arr_cols, real_arr_rows, real_arr_cols, real_arr_height

    print *, int_arr_rows, int_arr_cols, real_arr_rows, real_arr_cols, real_arr_height
    allocate(int_arr(int_arr_rows, int_arr_cols), real_arr(real_arr_rows, real_arr_cols, real_arr_height))
    read(u) int_arr
    read(u) real_arr

    do i = 1, int_arr_rows
        do j = 1, int_arr_cols
            print *, int_arr(i, j)
        end do
    end do

    print *, sum(int_arr)
    if (sum(int_arr) /= 5) error stop

    do i = 1, real_arr_rows
        do j = 1, real_arr_cols
            do k = 1, real_arr_height
                print *, real_arr(i, j, k)
            end do
        end do
    end do

    print *, sum(real_arr)
    if (abs(sum(real_arr) - 1.56999826) > 1e-5) error stop
end program