Fortran Coder

标题: Fortran90调用一个读取csv数据的函数子程序的问题 [打印本页]

作者: McP    时间: 2015-5-13 09:34
标题: Fortran90调用一个读取csv数据的函数子程序的问题
众位大仙,小弟初来宝地,这厢有礼了!
遇到问题一枚,还望得闻天音!

问题描述:最初编了一个程序,实现了从一个多行多列数据文本中读取某一行某一列的数据并能用以计算,单将此程序写成一个函数子程序后,编译无错,但得到的调用结果皆为零。程序如下:
[Fortran] 纯文本查看 复制代码
function P(n) result(Pb)
implicit none
integer::i
integer,intent(in)::n
real::a(1827),b(1827),c(1827),d(1827),e(1827),Pb
open(1,file='et.csv')
read(1,*)
do i=1,1827
    read(1,*)a(i),b(i),c(i),d(i),e(i)
enddo
close(1)
Pb=b(n)
end function

program main
implicit none
integer::n
real::x,P
print*,'input n'
read*,n
x=10*P(n)
print('(f17.15,4x,f17.15)'),P(n),x
end program




数据文件为excel转的csv,包括标题共1828行,格式如下:
a,b,c,d,e
0.432475628753395,0.9,1980,1,1
0.342833411868196,0,1980,1,2
0.774539737844607,0,1980,1,3
0.891810760279446,0,1980,1,4

。。。
请众位大仙不吝赐教!小弟先谢过了!Orz

作者: McP    时间: 2015-5-13 09:38
不知道能不能这样艾特到大大啊@fcode
作者: fcode    时间: 2015-5-13 13:11
我想,第5行,第二列本来就是 0 吧
反正第 2,3,4 行第二列都是 0
a,b,c,d,e
0.432475628753395,0.9,1980,1,1
0.342833411868196,0,1980,1,2
0.774539737844607,0,1980,1,3
0.891810760279446,0,1980,1,4
作者: McP    时间: 2015-5-13 18:55
fcode 发表于 2015-5-13 13:11
我想,第5行,第二列本来就是 0 吧
反正第 2,3,4 行第二列都是 0
a,b,c,d,e

大大您好!我sb了。。。用a(n)试了下没问题了。。。囧
话说发帖的话要怎么直接@您呢?




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2