在 Fortran 中使用“X != 0”时出现语法错误

2023-11-25

我的 Fortran 程序有一个问题,它除了计算素数分解(或应该做)之外什么也不做。这就是错误:

C:\MinGW\Fortran>gfortran aufg3.f90
aufg3.f90:15.15:

    if (prim(i) != 0 .and. modulo(n, prim(i)) == 0) then
               1
Error: Missing ')' in statement at or before (1)
aufg3.f90:19.7:

    end if
       1
Error: Expecting END DO statement at (1)
aufg3.f90:34.13:

  if (prim(i) != 0) then
             1
Error: Missing ')' in statement at or before (1)
aufg3.f90:38.5:

  end if
     1
Error: Expecting END DO statement at (1)

我尝试了一切,但完全不知道可能出了什么问题。感谢您的帮助。这是代码:

program aufg3
    implicit none
    integer :: n, i
    integer, allocatable, dimension(:) :: prim
    do
        print *, 'Bitte natürliche Zahl eingeben, "0" für Abbruch: '
        read *, n
        if (n == 0) exit
        allocate(prim(2:n))
        call era(prim, n)
        print *, n, ' = 1'
        do
            if (n == 1) exit
            do i = 2, n
                if (prim(i) != 0 .and. modulo(n, prim(i)) == 0) then
                    print *, ' * ', prim(i)
                    n = n / prim(i)
                    exit
                end if
            end do
        end do
        deallocate(prim)
    end do
end program

子程序纪元(prim, m) 整数,意图(in)::m 整数,维度(2:m) :: prim 整数::i,j 我 = 2, m prim(i) = i 结束做 i = 2,整数(sqrt(实数(m))) 如果 (prim(i) != 0) 那么 做 j = i*i, m, i prim(j) = 0 结束做 万一 结束做 结束子程序


嗯,这是 Fortran 并且!表示评论。所以编译器实际上看到

if (prim(i) 

这不是有效的陈述。您看到的错误消息反映了这一点。

Fortran 中的“不等于”是/= or .ne.:

 if (prim(i) /= 0 .and. modulo(n, prim(i)) == 0) then

并且,稍后:

if (prim(i) /= 0) then
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Fortran 中使用“X != 0”时出现语法错误 的相关文章

  • gfortran 未定义的引用

    我正在尝试编译一个依赖很多东西的程序 我使用并修改了提供的 makefile 来代表我的计算机设置 但在编译的最后一步中我不断收到许多未定义的引用 导致问题的命令行是 gfortran o cosmomc ParamNames o Matr
  • Fortran 中的数组第一个索引

    我认为 Fortran 中数组的第一个索引是 1 但是为什么这段代码可以工作呢 代码是 Wavewatch 的修改部分 http polar ncep noaa gov waves wavewatch http polar ncep noa
  • 如何在 conda 中静音或抑制 gfortran (或 clang?)后端?

    我一直致力于构建一个非常特殊的 conda 环境 专为python and R与串扰使用rpy2 我想出的方法可以安装正确的R包如下 install main environment sh now date T echo Start Tim
  • Fortran 在 gdb 中打印可分配数组

    我正在向开源科学代码添加一些功能 我使用很多可分配项 但在正确打印它们时遇到一些问题 例如 我声明并分配 然后使用 real dp allocatable psi n phi some other stuff here allocate p
  • 如何格式化整数以仅具有所需的大小?

    我一直在尝试以下代码 program hello write i9 10 end program hello 并改变格式字符串 尝试使写入输出的字符串大小恰好满足表示整数所需的大小 但到目前为止我无法管理它 如何在 Fortran 中编写
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • 使用 Fortran 进行数组问题的二分查找

    我正在使用 Schaum 的 Fortran 77 编程概要 一书 其中有一个关于使用括号值组方法进行二分搜索的示例 首先这是代码 INTEGER X 100 INTEGER RANGE INTEGER START FINISH PRINT
  • 指针的 Fortran 副本

    我有一个包含指针 p 的 var 类型 我需要将 var 复制到与 var 类型相同的另一个变量 var1 上 通过执行 var1 var 在引号中 因为我不知道这是否是正确的方法 请参见下文 在我的实现中 var 和 var1 被传递给一
  • MPI_Type_Create_Hindexed_Block 生成派生数据类型的错误范围

    使用Fortran 我尝试为动态分配的结构构建派生数据类型 但它得到了新类型的错误范围 代码如下 PROGRAM MAIN IMPLICIT NONE INCLUDE mpif h INTEGER I INTEGER MYID NUMPRO
  • 如何在 makefile 中拥有正确的 .mod 顺序

    我正在尝试用 Fortran 为我的项目创建一个 Makefile 并使其可在现在的项目中重用 我经过多次尝试后得出的 Mkefile 如下 问题是它在少数情况下工作正常 但现在我有这个文件 main f90 初始 f90 参数 f90 函
  • Fortran 递归分段错误

    我必须设计并实现一个 Fortran 例程来确定方格上簇的大小 并且递归地编写子例程似乎非常方便 然而 每当我的晶格大小超过某个值 大约 200 边 时 子例程就会始终出现段错误 这是我的集群检测例程 RECURSIVE SUBROUTIN
  • 带有过程参数的通用类型绑定过程

    我正在尝试编写一个通用的类型绑定过程 它将不同的回调函数作为参数 当编译以下代码 使用 ifort 12 1 3 时 我收到以下警告 module test type a type contains procedure t s gt at
  • Fortran :: (1) 处 OPEN 语句中存在语法错误

    我试图通过 顽固测试 来测试我的密码算法 http stat fsu edu pub diehard http stat fsu edu pub diehard 我意识到我的输入文件必须是未格式化的直接访问文件 所以我尝试用 Fortran
  • 如何在fortran 90中生成[0,5]范围内的整数随机数?

    我对 Fortran 编程有点陌生 任何人都可以帮我解决问题吗 我在生成整数随机数时遇到问题 在 Fortran 随机数范围 0 5 中使用 random seed 和 rand 为了支持answer https stackoverflow
  • Fortran DLL 导入

    Fortran 中有一段代码罗伯特 L 帕克和菲利普 B 斯塔克 http www stat berkeley edu 7Estark Code sbvq f FORTRAN subroutine bv key m n a b bl bu
  • 使用 Fortran 90 正确读取输入文件中的注释行

    据我了解 Fortran 在从文件读取数据时 会跳过以星号 开头的行 假设它们是注释 好吧 我似乎在用我创建的一个非常简单的程序实现这种行为时遇到了问题 这是我的简单 Fortran 程序 1 program test 2 3 intege
  • Fortran 读取语句中的“end”是什么意思?

    什么是end 这段代码片段的意思是什么 read portNum 100 end 900 readline 附 我已经尝试用谷歌找到这个 但没有运气 用户3600286 直接引用自this pdf http www tomzap com n
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • openmpi 忽略错误:无法识别 mca 接口

    今天早上 我升级了 gfortran 从 4 7 到 6 1 0 和 OpenMPI 从 1 10 到 2 0 1 编译器 我写了这个简单的程序 program main use mpi f08 implicit none
  • & 位于第 5 列和行尾

    我今天遇到一些代码 如下所示 subroutine sub hello world this routine takes a crazy large number of arguments so many that it gets spli

随机推荐

  • Python WX - 从 wx 对话框返回用户输入

    我是 Python 和 WX 的新手 我创建了一个简单的测试对话框 如下所示 用组合框提示用户 我想从主程序中的组合框中捕获值 我如何从我的主程序中调用它 这就是我打算如何调用它来显示对话框 但当前不捕获组合框中的值 import high
  • ArgumentParser:具有可选值的可选参数

    如果我有一个带有可选参数值的可选参数 有没有办法在未给出值时验证该参数是否已设置 例如 parser argparse ArgumentParser parser add argument abc nargs args parser par
  • OpenERP 始终显示继承视图而不是原始视图

    原始观点
  • SQL Server - 由于“ARITHABORT”而导致 INSERT 失败

    我使用 NHibernate 和 SQL Server 2005 并且在我的一张表的计算列上有一个索引 我的问题是 当我向该表插入一条记录时 出现以下错误 INSERT 失败 因为以下 SET 选项设置不正确 ARITHABORT I us
  • 从数据框中删除仅包含 0 或仅包含单个 0 的行

    我正在尝试在 R 中创建一个函数 该函数允许我根据行是否包含带有零的单列来过滤数据集 此外 有时我只想删除所有列中为零的行 另外 这就是有趣的地方 并非所有列都包含数字 并且列数可能会有所不同 我尝试将一些数据与我想要获得的结果粘贴到此处
  • 如何编写程序来查找某些单词是否相似?

    即 学院 和 学业 和 学院 属于同一集群 essay scholarships money 这些词也属于同一簇 这是 ML 或 NLP 问题吗 这取决于你的定义有多严格similar is 机器学习技术 As others已经指出 你可以
  • 如何在 laravel dompdf 中为每页添加页码?

    我从这里得到 https github com barryvdh laravel dompdf 我的控制器是这样的 public function listdata pdf PDF loadView print tests test pdf
  • 如何正确关闭数据源连接?

    我有这个类 但我不确定如何正确关闭连接 因为即使我只有 3 个用户登录但有多个 sql 查询 我仍然遇到此错误 gt com mysql jdbc exceptions jdbc4 MySQLNonTransientConnectionEx
  • 更改 CMAKE_CXX_FLAGS_DEBUG 和 CMake 中朋友的默认值

    我想更改默认值CMAKE CXX FLAGS RELEASE or CMAKE CXX FLAGS DEBUG在 CMake 中 基本上 我有一些项目默认值与 CMake 的默认值略有不同 例如 对于发布 我不应该问自己 哦 当使用 add
  • 迭代 Objective-C 对象的子对象时,镜像在 Swift 中不起作用

    我有一个与在 Swift 中使用 Mirror 相关的非常奇怪的问题 我正在迭代名为 Test 的类中的所有属性 let test Test let mirror Mirror reflecting test for i in mirror
  • 如何使枚举类与“位或”功能一起使用?

    我通常使用enum与 位或 或 在一起可以让一个对象拥有一些选项 如何使枚举类与 位或 功能一起使用 您需要重载枚举类的运算符 并通过转换为基础类型来实现它们 enum class foo unsigned bar 1 baz 2 foo
  • Symfony 安全性返回 401 响应而不是重定向

    我正在编写一个带有ajax身份验证的ajax应用程序 现在我开始使用silex中的symfony安全组件来处理身份验证 授权 使用简单的配置进行简单的测试 我进入防火墙的受保护区域 得到的响应是重定向到 login页面 但我在应用程序中需要
  • 阻止 UIPopover 自动关闭

    我想知道是否有办法阻止 iPad 弹出框在您触摸弹出框外的屏幕时自动关闭 如果没有 是否有某种类似于 popoverDidDismiss 的方法 我可以调用它来告诉弹出窗口何时被关闭 是的你可以 这是苹果文档中的内容 当由于用户在弹出窗口视
  • 在球体上翻转 Three.js 中的法线

    我一直在四处寻找 但还没有找到任何真正好的答案来回答我的问题 问题是我有这个球体 只是一个基本球体 我想翻转法线 所以 球体获得某种 空心 雕刻效果 然后将我的纹理应用到球体的 内部 关于如何翻转法线有什么想法吗 另外 如果不可能在 Thr
  • Pandas,在字符串中打印变量

    我有一个数据框 新 看起来像这样 num name1 name2 11 A AB 14 Y YX 25 L LS 39 Z ZT 我只想提取打印语句中的数值 这样我就有一个如下所示的输出 The value is 11 The value
  • Python:xml ElementTree(或 lxml)中的命名空间

    我想检索旧版 xml 文件 操作并保存它 这是我的代码 from xml etree import cElementTree as ET NS http www somedomain com XI Traffic 10 def fix xm
  • 如何在 gdb 中打印 Objective-C 类方法的结果?

    当使用 gdb 通过调试控制台 在 Xcode 4 中调试 iPad 程序时 我试图打印出运行类方法的结果 gdb po MyClass foo bar gdb 输出以下内容 当前上下文中没有符号 MyClass 有没有办法打印结果 NSS
  • C# 编译/构建是一个增量过程吗?

    我们的解决方案包含大量 C 项目 它们之间存在复杂的依赖关系 例如 项目A B C A依赖于B B依赖于C 如果我更改项目C中的一个文件 然后重建解决方案 项目A B C将一起重建 在C 中 构建包含两个过程 编译和链接 如果我更改项目C中
  • 如何与 NSPersistentCloudKitContainer 设置有序关系?

    当我检查时Used with CloudKit 错误Folder children must not be ordered出现了 关于有序关系有什么想法吗 使用 Xcode 11 测试版 3 这是Folder Entity 适用于 iOS
  • 在 Fortran 中使用“X != 0”时出现语法错误

    我的 Fortran 程序有一个问题 它除了计算素数分解 或应该做 之外什么也不做 这就是错误 C MinGW Fortran gt gfortran aufg3 f90 aufg3 f90 15 15 if prim i 0 and mo