问题标签 [fortran95]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - 我们还需要子程序吗?
在 Fortran 中,函数和子程序之间存在明显的区别:函数返回一个值,子程序不返回值。这会在两者之间引入一连串的差异。一个例子是调用语义:你可以像在其他语言中一样调用一个函数,但是为了调用一个子程序,你必须首先发出一个call
语句。
随着在 Fortran95 中添加指针和数据类型,使任何子程序成为函数并保留子程序仅用于遗留似乎没有技术限制。函数可以返回零(您只返回一个虚拟整数)、一个或多个值(例如,您可以返回指向已分配类型实例的指针,例如 C++ STL 对)。
我错了吗?由于子程序具有某些功能而函数没有,我们是否仍然需要 Fortran 编程中的子程序?
fortran - 在 fortran90 中智能打印整数
几年前简单介绍了Fortran77后,我正在学习Fortran90。在 Fortran 中打印整数时,您必须指定要为打印整数保留多少空间。考虑这个程序...
...生成以下输出。
当我不知道整数中有多少位时,如何为整数打印分配正确的空间量?
更新:如果您的编译器符合 F95,您可以使用I0
编辑描述符(即,在上面的示例中放置函数'(A, I0, A)'
的第二个参数write
。谢谢@janneb!
fortran - Fortran 95:if 条件的内联评估
这是一小段代码,它返回 epsilon() 的实际值:
现在,当我将 if 条件替换为
该程序应该有相同的回报,但不幸的是它没有!我在 Linux 和 Windows 上使用 g95 的最新(快照)版本对其进行了测试。
有人可以向我解释这个问题吗?
fortran - Fortran 95 Do-While 循环在错误条件下未退出
这是我的代码:
输出:
一旦余数变为 22,第一个循环 (>=25) 应该退出,但它会再次运行并产生一个负数。为什么即使条件为假也不退出?我正在使用 IDEone.com 的 Fortran“编译器”,它似乎类似于 Fortran 95。
fortran - 在 Fortran 95 中读取多个文件
我正在用 Fortran 95 编写代码,以读取许多看起来像 1.dat、2.dat、......、9999.dat 的文件。我有一个代码,显示为 0001.dat、0002.dat、............ 9999.dat。看起来像
您能否建议我如何才能阅读我拥有的文件?谢谢你
fortran95 - Fortran 可以处理的数组大小
我有 30000 个文件来处理每个文件有 80000 x 5 行。我需要读取所有文件并处理它们以找到每行的平均值。我已经编写了代码来读取和提取文件中的所有数据。我的代码在 Fortran 中。有一个数组 (30000 X 800000) 我的程序无法超过 (3300 X 80000)。我需要在 300 个文件步骤中添加每个文件的第 4 列,我的意思是第 1 个文件的第 4 列和第 301 个文件的第 4 列,第 2 个文件的第 4 列和第 302 个文件的第 4 列等等。你认为这是因为Fortran 可以处理的数组大小的限制?如果是这样,有没有办法增加 Fortran 可以处理的数组的大小?文件数怎么办?我的代码如下所示: 这个程序运行良好。
function - 使用模块在 fortran 95 上创建简单菜单功能时出现问题
我刚刚开始在模块上创建菜单功能,但遇到了致命错误,错误太多。我怀疑这可能是由于一个小错误而不是多个错误,因为到目前为止代码非常简单。
有人有什么想法吗?
以下是我到目前为止所拥有的。显然我才刚刚开始,但我已经很惊讶为什么会出现问题。非常感谢!
另外我对模块有点陌生,所以我很好奇你能告诉我这是如何编译它吗?g95 themenu.f95 -o ba ??
谢谢。
谢谢!到目前为止,使用此模块的程序看起来像这样:
arrays - Fortran 95 中数组排序和横向打印的问题
我正在尝试根据一个确定其大小的变量来获取我的数字数组并对其进行排序。
该数组是使用 Fortran 95 上的随机数种子创建的。但是,当我尝试对其进行排序时,我遇到了大麻烦。它编译得很好,但是数组中打印了很多星号。
此外,我想横向打印我的数组(例如:1 2 3 4 等),但我什至没能做到。我意识到必须在 DO 循环中使用 Advance="no" 来完成,但显然这也是错误的。
下面是我正在使用的代码。如果有人愿意让我知道我可能错在哪里,我将不胜感激。谢谢你的时间。
谢谢!
arrays - 在使用数组输出星号和索引方面需要帮助
这个程序在 fortran 95 上的输出显示星号而不是数字。我也无法让 Experiment# 像这样按预期打印;实验一、实验二、实验三等。相反,它打印如下;实验一,实验一,实验一。
关于如何解决此问题的任何想法?以下是我的完整程序。
谢谢你的时间。
module - Fortran 模块版本致命错误
我在 Fortran 95 上有一个非常可怕的错误:
我已经包含了我的模块的主要结构。我非常怀疑它与我模块中的内容有什么关系,因为它给了我关于这些的错误消息并且我已经能够修复它们,这意味着它能够很好地通过我的模块它只是一些与我使用模块的方式。也许?
主程序的结构如下:
有什么建议吗??我真的需要解决这个问题,所以任何帮助都将不胜感激。非常感谢!!