24小时热门版块排行榜    

查看: 1212  |  回复: 4

zyj8119

木虫 (著名写手)

[交流] 【求助】此FORTRAN90程序没有错误,但是运行不出来。

CODE:
MODULE convexity
  TYPE point
    COMPLEX::z
  END TYPE point
CONTAINS
  FUNCTION orientation(p,i) RESULT(orient)
  TYPE(point),DIMENSION(:),INTENT(in)::p
  INTEGER::i,n
  REAL::orient,f
  COMPLEX::z1,z2,z3
  f(z1,z2,z3)=REAL(z2-z1)*AIMAG(z3-z2)-REAL(z3-z2)*AIMAG(z2-z1)
  n=SIZE(p)
  IF(i==n-1)THEN
     orient=f(p(n-1).z,p(n).z,p(1).z)
  ELSE IF(i==n)THEN
     orient=f(p(n).z,p(1).z,p(2).z)
  ELSE
     orient=f(p(i).z,p(i+1).z,p(i+2).z)
  END IF
  END FUNCTION orientation
  !
   SUBROUTINE convex_polygon(p,convex)
   LOGICAL::convex
   TYPE(point),DIMENSION(:),INTENT(in)::p
   INTEGER::i,n,anticlockwise
   convex=.TRUE.;n=SIZE(P)
   IF(orientation(p,1)>0)THEN
      anticlockwise=1
   ELSE
      anticlocakwise=-1
   END IF
   DO i=2,n
       IF(anticlockwise*orientation(p,i)<0)THEN
           convex=.FALSE.;EXIT
           END IF
           END DO
           END SUBROUTINE convex_polygon
   END MODULE convexity
!
   PROGRAM test
   USE convexity
   INTEGER,parameter::n=6
   TYPE(point),DIMENSION(1:n)::polygon
   LOGICAL::convex
   INTEGER::i
   OPEN(1,FILE='convex')
   DO I=1,2
    READ(1,*)polygon
        CALL convex_polygon(polygon,convex)
        IF(convex==.TRUE.)PRINT*,'polygon is convex'
        IF(convex/=.TRUE.)PRINT*,'polygon is not convex'
   END DO
   END PROGRAM test

回复此楼
好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

janecool

铁杆木虫 (著名写手)


zyj8119(金币+1):谢谢参与
问题可能出自第一个DO循环里面,里面的N应该是一个已知量
相信会有属于你的精彩
2楼2010-08-29 10:03:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by janecool at 2010-08-29 10:03:47:
问题可能出自第一个DO循环里面,里面的N应该是一个已知量

什么意思?
好好学习,天天向上。
3楼2010-08-29 10:09:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

janecool

铁杆木虫 (著名写手)


zyj8119(金币+4):先尝试下看看。 2010-08-29 15:16:16
resonant(金币+1):感谢参与应助:-) 2010-08-29 19:54:03
引用回帖:
Originally posted by zyj8119 at 2010-08-29 10:09:13:

什么意思?

你可以先在do循环前给N赋予一个数值,看程序是否能运行,如果还不能,我现在也不知道是为什么。
相信会有属于你的精彩
4楼2010-08-29 10:15:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ifmc1234

木虫 (著名写手)

★ ★
zyj8119(金币+1):谢谢参与
nono2009(金币+1):鼓励应助。 2010-09-09 08:02:23
引用回帖:
Originally posted by zyj8119 at 2010-08-29 10:09:13:

什么意思?

你没把n定义为全局变量。所以在子模块里n值是0
5楼2010-09-08 18:48:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 2026国自然函评费到账 +19 羊腰板 2026-08-21 22/1100 2026-08-25 10:38 by popular289
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[基金申请] 今天基金会出结果吗?20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 没有任何消息-是不是就凉了 +7 图啦图啦 2026-08-24 8/400 2026-08-24 22:00 by maomao_da
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见