fortran里的数组赋值

author author     2023-04-19     339

关键词:

为什么real::A(3,2)=(/1,2,3,4,5,6/)总是出现问题?辅导书上不都是这么赋值的吗。版本是fortran95
主要是2维或者2维以上的数组

错误信息的含义是数组赋值的语句里所有元素必须是同一数据类型
变量a是real(8),虽然程序中赋值用的是整形的(/1,2,3/),fortran会自动将其转换成real(8)。
c=(/1,a(2:3)/)这句里1是整形,后面的a(2:3)是real(8),数据类型不同,所以报错了。
可以改成
c=(/1.0_8,a(2:3)/)
参考技术A 你的写法是不标准的。我不知道你使用的什么教科书?

可能个别编译器会允许这样写,但不标准。

标准的写法是 :
real :: A(3,2)= reshape( (/1,2,3,4,5,6/) , (/3,2/) )

它表示把 123456 数组重新划分外形(reshape)为 3*2 的数组,并赋值给 a 数组。追问

用的是彭国伦(fortran95程序设计),我也试过这样写,但是有时候会提示reshape有错误,不过有时候可以。下次遇到再请教,多谢了

本回答被提问者采纳
参考技术B 解决方法很多!第一,V(5000)=0的意思是,第5000个元素为0,而前4999个没有进行赋值。如果写为:V(1:5000)=0,这就表示5000个全部为0了。第二,V(0:5000)=1,2,3这样写是非法的。第三,V(5000)也可以写为V(1:5000)表示V数组里有5000个数。如果省略了冒号,则默认从1开始如果写成V(0:5000)则表示V数组有5001个数。
请采纳答案,支持我一下。

fortran定义全局变量

怎样在fortran中利用module建立全局变量呢?如果是在module中建立的全局变量,可以通过read命令来赋值吗?第一个问题麻烦回答详细一些,这个不大了解....谢谢module主要有以下作用:1)module可以声明变量,经常用来声明程序中所... 查看详情

如何判断一个 fortran 数组指针是直接分配的,还是与另一个对象相关联?

】如何判断一个fortran数组指针是直接分配的,还是与另一个对象相关联?【英文标题】:HowcanItellifafortranarraypointerhasbeenallocateddirectly,orisassociatedwithanotherobject?【发布时间】:2016-11-1521:16:59【问题描述】:我正在使用包含一些数... 查看详情

Fortran 90 中是不是有更好的双精度赋值?

】Fortran90中是不是有更好的双精度赋值?【英文标题】:IsThereaBetterDouble-PrecisionAssignmentinFortran90?Fortran90中是否有更好的双精度赋值?【发布时间】:2011-09-0300:17:13【问题描述】:在Fortran90(在MacOSX上使用gfortran)中,如果我将值... 查看详情

Fortran 派生类型:重载赋值运算符不适用于“参数”属性

】Fortran派生类型:重载赋值运算符不适用于“参数”属性【英文标题】:Fortranderivedtypes:Overloadedassignmentoperatornotworkingwith\'PARAMETER\'attribute【发布时间】:2014-10-1904:08:28【问题描述】:我正在使用派生类型(bicomplex)和赋值运算... 查看详情

javavector怎么用一个vector来给一个以维数组赋值呢?

......那么打印这个v时得到的就是1,2,3,4我想知道怎么把v里的这几个元素赋值给一个数组比如一个short类型的一维数组数据类型不一样一个是基本类型一个是对象怎么转换呢把Vectorv里的这几个数赋值个shorts[]这个数组该怎么赋?... 查看详情

c语言怎么给结构体里的结构体赋值?

...ntcharname[20];structdatebirthday;student1;那么你想给student1的生日里的year赋值的话student1.birthday.year=1987;本回答被提问者采纳 参考技术Btypedefstruct_BOOK_INFOintnType;BookInfo;赋值如下:BookInfobookinfo;bookinfo.nType=1;如果满意的话,请给点分吧,我... 查看详情

Fortran:稀疏数组或列表

】Fortran:稀疏数组或列表【英文标题】:Fortran:sparsearraysorlists【发布时间】:2012-02-0914:35:23【问题描述】:Fortran中是否有任何稀疏数组或等效列表的实现。在计算大型数据集的阶段,我们将一个大小为n=10000的数组传递给子程序... 查看详情

javascript数组赋值操作的坑

描述:数组对象赋值,即arr1=[{},{},{}]这种数据结构的对象赋值,将arr1赋值给arr2;然后删除arr2里的元素一、最常用的=arr2=arr1;detect(val){lettemp=[];letself=this;temp=self.tableBaseStorage;//这个tableBaseStorage是data(){return{}}全局变量console.log("tab 查看详情

在 C++ 和 Fortran 代码之间传递复数数组

】在C++和Fortran代码之间传递复数数组【英文标题】:PassingcomplexnumberarraybetweenC++andFortrancode【发布时间】:2012-11-2221:06:28【问题描述】:我正在使用C++和Fortran代码。C++代码需要调用Fortran子例程。Fortran子例程的一个参数具有Fortran... 查看详情

当改变数组的某一个对象里的元素的时候,为什么其他对象里的元素也发生改变了

...时候,会出现一种情况,就是当想改变数组的某一个对象里的元素的时候,其他对象里的元素页跟着发生了改变。根据条件已经定位到了某一个对象,但是改变之后发现,其他的还是也都改变了。原因就是:数组是引用对象,数... 查看详情

从 Fortran 访问 C++ 结构数组?

】从Fortran访问C++结构数组?【英文标题】:AccessarrayofC++structsfromFortran?【发布时间】:2013-08-0920:21:12【问题描述】:在C++中,我分配了一个S数组。在Fortran中,我想访问这个数组的元素。我该怎么做?C++:structSdoublea;doubleb;;S*array... 查看详情

从 Fortran 访问 C++ 结构数组?

】从Fortran访问C++结构数组?【英文标题】:AccessarrayofC++structsfromFortran?【发布时间】:2013-08-0920:21:12【问题描述】:在C++中,我分配了一个S数组。在Fortran中,我想访问这个数组的元素。我该怎么做?C++:structSdoublea;doubleb;;S*array... 查看详情

可以将 Fortran 数组保存为 .npy 格式吗?

】可以将Fortran数组保存为.npy格式吗?【英文标题】:CanonesaveFortranarraysin.npyformat?【发布时间】:2022-01-0815:40:14【问题描述】:我正在使用Fortran进行数值计算。Fortran中的通用标准是将数组保存为.dat文件。我想偶尔将数组传输到P... 查看详情

fortran关于数组内部函数的问题

fortran关于数组内部函数的问题这个是什么错误,数组内部求和函数要怎么用,图中程序应该怎么改sum函数用法错误,fortran中自带数组求和函数SUM。传入的变量应该是数组的某一段值。也就是说二维数组A(5,3)求和时要写成sum2=sum... 查看详情

将 C++ 字符数组传递给 Fortran

】将C++字符数组传递给Fortran【英文标题】:PassingC++characterarraytoFortran【发布时间】:2015-07-0204:04:49【问题描述】:我一直在尝试将字符数组从C++传递到Fortran子例程,但似乎Fortran无法正确接收字符。我一直在网上搜索以找到解决... 查看详情

将 C++ 字符数组传递给 Fortran

】将C++字符数组传递给Fortran【英文标题】:PassingC++characterarraytoFortran【发布时间】:2015-07-0204:04:49【问题描述】:我一直在尝试将字符数组从C++传递到Fortran子例程,但似乎Fortran无法正确接收字符。我一直在网上搜索以找到解决... 查看详情

Fortran 可分配数组生命周期

】Fortran可分配数组生命周期【英文标题】:Fortranallocatablearraylifetime【发布时间】:2012-08-0323:24:09【问题描述】:假设我有以下代码:programtestcallfoocallfoocontainssubroutinefoointeger(8),dimension(:),allocatable::var1allocate(var1(10))...returnendsubrout 查看详情

在 Fortran 中分配字符数组

】在Fortran中分配字符数组【英文标题】:AssigningacharacterarrayinFortran【发布时间】:2014-03-1317:55:03【问题描述】:我必须编写一个可以被C和Fortran调用的子例程。该子例程将文件名作为其参数之一。我知道要与C很好地互操作,ISOC... 查看详情