Printing 1D array in Fortran as 2D array

Click For Summary
SUMMARY

The discussion focuses on printing a 1D array in Fortran as a 2D array using the WRITE statement. A specific example is provided with a REAL array defined as REAL,DIMENSION(2,3) :: array, and the correct syntax for printing each row is demonstrated using a DO loop. The use of the colon (:) as an implicit "all" operator for array operations is emphasized, clarifying its functionality in Fortran. Additionally, a common mistake regarding the placement of commas in the DO statement is noted.

PREREQUISITES
  • Understanding of Fortran syntax and array handling
  • Familiarity with REAL data types in Fortran
  • Knowledge of DO loops in Fortran programming
  • Basic concepts of array operations in programming
NEXT STEPS
  • Explore advanced array manipulation techniques in Fortran
  • Learn about the differences between Fortran and C array implementations
  • Investigate the use of implicit operators in Fortran
  • Study best practices for writing and structuring Fortran code
USEFUL FOR

This discussion is beneficial for Fortran programmers, educators teaching array operations, and developers transitioning from C to Fortran who need to understand array printing techniques.

BC2210
Messages
17
Reaction score
0
Delete..

Delete..
 
Last edited:
Technology news on Phys.org
They're not crazy, if I want to print all row entries in a column, then:
Code:
REAL,DIMENSION(2,3) :: array

DO,i=1,2
  WRITE(6,*) array(i,:)
END DO

You can use the semi-colon as an implicit "all" when operating on arrays.
 
Yes. In C, two-dimensional arrays are simply one-dimensional arrayswhose element type is itself a one dimensional array. Since one-dimensional arrays are required to occupy contiguous storage, itfollows that the same must be true for an array of arrays.

Thanks
__________
Techstore are specialists in a range of http://www.techstore.ie/Design-Print/index.html" Services
 
Last edited by a moderator:
minger said:
They're not crazy, if I want to print all row entries in a column, then:
Code:
REAL,DIMENSION(2,3) :: array

DO,i=1,2
  WRITE(6,*) array(i,:)
END DO
I don't think you want that first comma after the DO.
minger said:
You can use the semi-colon as an implicit "all" when operating on arrays.
This character - : - is a colon. This one - ; - is a semicolon.
 
Right-o, as far as the comma, I occasionally get f90 and ANSYS APDL mixed up a bit. Also can't believe I called a, ':', a semi-colon. 1:11pm, perhaps, I was in a lunch daze.
 


BC2210 said:
Delete..
BC2210,
Although it's possible for you to delete your own post, it's not a good idea to do so. Other people can possibly learn from your question.
 
but why you want to delete the post was it not relevant
 
may be it was
 

Similar threads

  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 20 ·
Replies
20
Views
4K
  • · Replies 4 ·
Replies
4
Views
6K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
64
Views
10K
  • · Replies 25 ·
Replies
25
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K