Fortran中如何把循环出的结果赋值给数组
时间: 2023-10-13 14:04:30 浏览: 117
在Fortran中,可以使用do循环来遍历数组并计算新的值,然后将这些新的值赋值给另一个数组。下面是一个示例代码:
```
program assign_values_to_array
implicit none
integer :: i
real :: old_array(5), new_array(5)
! 给旧数组赋值
do i=1,5
old_array(i) = i
end do
! 计算新的数组
do i=1,5
new_array(i) = old_array(i) ** 2
end do
! 输出新数组的值
do i=1,5
print *, new_array(i)
end do
end program assign_values_to_array
```
在这个程序中,我们首先定义了两个数组 `old_array` 和 `new_array`,并使用 do 循环给 `old_array` 数组赋值。然后,我们使用另一个 do 循环计算 `new_array` 数组中每个元素的平方,并将计算结果赋值给 `new_array` 数组。最后,我们使用一个 do 循环将 `new_array` 数组中的值输出到屏幕上。
相关问题
fortran中数组赋值
在Fortran中,可以使用以下语法为数组赋值:
1. 使用 DATA 语句进行初始化:
```
REAL :: x(3)
DATA x /1.0, 2.0, 3.0/
```
2. 使用 ASSIGN 语句进行赋值:
```
REAL :: x(3)
x = ASSIGN([1.0, 2.0, 3.0], x)
```
3. 使用 DO 循环进行赋值:
```
REAL :: x(3)
DO i = 1, 3
x(i) = i
END DO
```
以上是一些常用的数组赋值方法,根据具体情况选择合适的方法即可。
fortran中二维数组的赋值
在ran 中,可以使用一个嵌套的 DO 循环来为二维数组赋值。以下是一个示例程序:
```fortran
program array_assignment
implicit none
integer :: i, j
integer, dimension(3,3) :: my_array
do i = 1, 3
do j = 1, 3
my_array(i,j) = i + j
end do
end do
! 打印数组
do i = 1, 3
write(*,*) my_array(i,:)
end do
end program array_assignment
```
在这个示例程序中,我们创建了一个 3x3 的整数数组 `my_array`,然后使用嵌套的 DO 循环为其赋值。具体来说,我们使用外层的循环变量 `i` 和内层的循环变量 `j` 来遍历数组的所有元素,然后将元素的值设置为 `i+j`。最后,我们使用另一个 DO 循环来打印数组的每一行。
注意,Fortran 中的二维数组是按列存储的,因此在访问元素时第一个索引应该是行号,第二个索引是列号。
阅读全文