版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3545)
>
虫友互识
(252)
>
文献求助
(141)
>
硕博家园
(87)
>
导师招生
(81)
>
考博
(80)
>
招聘信息布告栏
(59)
>
论文投稿
(55)
>
教师之家
(42)
>
基金申请
(40)
>
找工作
(33)
>
博后之家
(31)
>
考研
(31)
>
论文道贺祈福
(22)
>
休闲灌水
(22)
>
绿色求助(高悬赏)
(16)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
【求助】如何写FORTRAN程序实现求平均最近邻距离
1
1/1
返回列表
查看: 2782 | 回复: 34
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖交流
zyj8119(金币+1, 程序强帖+1): 见识了! 2011-02-25 16:43:43
引用回帖:
Originally posted by
阿黛拉
at 2011-02-25 09:23:25:
您好,非常感谢您的帮助。
还有个问题想请您帮助解决---如您所看到,比如说有38个ions,前10个ions是一组,后28个是一组, 举例15 0.512 0.569 0.717- 27 2.79 36 2.79 37 2.79 8 2.80 6 2.80 13 ...
大概是这个样子,如果我没有理解错的话。
CODE:
program ex
implicit none
character(len = 128) :: line, fm
integer :: ios, len_line, i, j, ion_num, ion_tmp
real, dimension(5000) :: table
integer, dimension(5000) :: ion
integer, dimension(5000) :: ion_table ! ion in table
integer, parameter :: ion_pos = 10
real :: sum_1, sum_2, sum_3 ! ion_table < 10; ion_table > 28; ion_table > 10 & ion_table < 28
integer :: i_1, i_2, i_3
do
read (*,'(a)', iostat = ios) line
if (ios < 0) exit
if (index(line, 'nearest neighbor table') /= 0) exit
end do
j = 0
do
read (*,'(a)', iostat = ios) line
if (ios < 0) exit
if (index(line, 'LATTYP') /= 0) exit
if (len(trim(line)) == 0) cycle
len_line = len(trim(line(27:)))
write(fm,'(a,i0,a)') '(', len_line/9,'(tr1,i3,tr1,f4.2))'
read (line(27:), fm) (ion_table(i), table(i), i=j+1,j+len_line/9)
read(line, '(tr1,i3)') ion_tmp
if (ion_tmp /= 0) ion_num = ion_tmp
do i=j+1, j+len_line/9
ion(i) = ion_num
end do
j = j + len_line/9
end do
write (*,'(i3,tr2,i3,tr2,f4.2)') (ion(i), ion_table(i), table(i), i= 1, j)
sum_1 = 0.0
sum_2 = 0.0
sum_3 = 0.0
i_1 =0
i_2 =0
i_3 =0
do i=1,j
if (ion(i) <= ion_pos) then ! ion <= 10
if (ion_table(i) <= ion_pos) then ! ion_table <= 10
sum_1 = sum_1 + table(i)
i_1 = i_1 + 1
write(1,'(i3,tr2,i3,tr2,f4.2)') ion(i), ion_table(i), table(i)
else
sum_3 = sum_3 + table(i) ! ion_table > 10
i_3 = i_3 + 1
write(3,'(i3,tr2,i3,tr2,f4.2)') ion(i), ion_table(i), table(i)
end if
else ! ion > 10
if (ion_table(i) >= (ion(j) - ion_pos)) then ! ion_table >= 28
sum_2 = sum_2 + table(i)
i_2 = i_2 + 1
write(2,'(i3,tr2,i3,tr2,f4.2)') ion(i), ion_table(i), table(i)
else
sum_3 = sum_3 + table(i) ! ion_table < 28
i_3 = i_3 + 1
write(3,'(i3,tr2,i3,tr2,f4.2)') ion(i), ion_table(i), table(i)
end if
end if
end do
write(*,*) sum(table(1:j))/j
print *, sum_1, i_1, sum_2, i_2, sum_3, i_3
write(*,*) sum_1/i_1, sum_2/i_2, sum_3/i_3
end program ex
[
Last edited by snoopyzhao on 2011-2-25 at 11:08
]
赞
一下
(2人)
回复此楼
21楼
2011-02-25 10:57:14
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
智能机器人
Robot
(super robot)
我们都爱小木虫
找到一些相关的精华帖子,希望有用哦~
求助计算机高人,编写个Fortran程序
已经有13人回复
哪位帮忙写份Fortran程序?
已经有10人回复
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】求指点,在Fortran里面,怎样实现“数组维度可调”的数组?
已经有5人回复
【求助】Fortran程序,如何让exe文件可以单独运行?
已经有6人回复
【求助】这样的公式,在fortran里该怎么写了,谢谢【求助成功】
已经有4人回复
【求助】如何实现编写的fortran程序让别人使用,但不让别人知道源代码
已经有6人回复
点击这里搜索更多相关资源
科研从小木虫开始,人人为我,我为人人
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
阿黛拉
的主题更新
1
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定