Fortran Coder

查看: 108|回复: 6

[求助] Error: DATA statement at (1) has more values than variables

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
36 元
贡献
17 点
发表于 2018-6-4 16:15:30 | 显示全部楼层 |阅读模式
我刚学fortran,下面这段代码总编译不成功,总提示 Error: DATA statement at (1) has more values than variables
[Fortran] 纯文本查看 复制代码
program ex0707
implicit none
integer, parameter :: row = 3
integer, parameter :: col = 2
integer :: m(row, col)
integer r
integer c

data((m(r, c),r=1,2,3),c=1,2)/10,20,30,40,50,60/
write(*, "(i3, i3, /,i3, i3, /, i3, i3)")((m(r, c), c=1,2),r=1,2,3)

stop
end


编译信息如下(警告我都删掉了):
ex0707.f95:9:5:
  data((m(r, c),r=1,2,3),c=1,2)/10,20,30,40,50,60/
     1
Error: DATA statement at (1) has more values than variables
编译失败。

我没有多赋值啊?请各位指教。

回复

使用道具 举报

251

帖子

1

主题

0

精华

宗师

F 币
1415 元
贡献
962 点
发表于 2018-6-4 17:39:40 | 显示全部楼层
data((m(r, c),r=1,3),c=1,2)/10,20,30,40,50,60/

251

帖子

1

主题

0

精华

宗师

F 币
1415 元
贡献
962 点
发表于 2018-6-4 17:44:28 | 显示全部楼层
既然是刚学,就要学新的,你这个代码风格有点老了。推荐彭国伦的书。另外,使用二维数组,可以看看这个http://fcode.cn/guide-45-1.html
[Fortran] 纯文本查看 复制代码
program ex0707
implicit none
integer, parameter :: row = 3, col = 2
integer :: m(row, col)
integer r, c
m = reshape([10,20,30,40,50,60],[row,col])
write(*, "(2i3)") ((m(r, c), c=1,2),r=1,3)
read(*,*)
end

评分

参与人数 1贡献 +9 收起 理由
fcode + 9 很给力!

查看全部评分

6

帖子

2

主题

0

精华

入门

F 币
36 元
贡献
17 点
 楼主| 发表于 2018-6-4 20:11:18 | 显示全部楼层
谢谢 我刚发现是这里的错,谢谢,以后多指教。我项用fortran作概率统计分析用

6

帖子

2

主题

0

精华

入门

F 币
36 元
贡献
17 点
 楼主| 发表于 2018-6-4 20:46:34 | 显示全部楼层
我正在读他的fortran95程序设计,        m = reshape([10,20,30,40,50,60],[row,col])这种格式的输入还没看到

1230

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂伙计

F 币
717 元
贡献
326 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-6-6 08:31:38 | 显示全部楼层
恭喜你,学到新东西了

6

帖子

2

主题

0

精华

入门

F 币
36 元
贡献
17 点
 楼主| 发表于 2018-6-6 20:34:21 | 显示全部楼层
fcode 发表于 2018-6-6 08:31
恭喜你,学到新东西了

谢谢,多指教
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2018-6-25 12:22

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表