C -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
C swaps elements of an array
C -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
An INTEGER N, I
REAL A (N), AT (N)
DO I=1, 10 N
10 the AT (I)=A (I)
DO I=0, 20 N - 1
A (I + 1)=20 AT (N - I)
RETURN
END
There is an error in the process of f2c
Declaration the error for the at: adjustable dimension on non - argument
Wr_ardecls: nonconstant array size
CodePudding user response:
This code has a problem, why do you want to use first copy a temporary array? ~ ~ ~CodePudding user response:
This is not A copy, is to use intermediate variable and then the inside of the array elements in A sequence, can put back A backwardsCodePudding user response:
The reverse can be directly:SUBROUTINE SWAPEL (N, A)
C -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
C swaps elements of an array
C -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
An INTEGER N, I, X
REAL A (N)
DO I=1, 10 INT (N/2)
X=A (I)
A (I)=A (N - I + 1)
A (N - I + 1)=10 X
RETURN
END
Copy again, take up the space is very much, if large array efficiency is low