Fortran程序读取输入文件并确定最小值和最大值以及它们在文件中的行

Fortran程序读取输入文件并确定最小值和最大值以及它们在文件中的行,fortran,Fortran,我需要帮助编写一个程序来读取一个具有未知行数的文件,并确定该文件的最小值和最大值。输入文件的格式为每行一个值。我不知道如何定位和存储最大值和最小值,以及它们在没有内在函数的情况下位于哪一行。(指示不要使用内在函数)。任何帮助都将不胜感激,谢谢 教育性答案输入(非准确代码): 这段代码将一行一行地读取文件(因此,一旦到达文件末尾就会给出一个错误),并将读取的内容分配给变量variab。如果要在到达文件的最后一行时停止,则需要在read命令中添加一个参数,特别是iostat参数,该参数根据read命

我需要帮助编写一个程序来读取一个具有未知行数的文件,并确定该文件的最小值和最大值。输入文件的格式为每行一个值。我不知道如何定位和存储最大值和最小值,以及它们在没有内在函数的情况下位于哪一行。(指示不要使用内在函数)。任何帮助都将不胜感激,谢谢

教育性答案输入(非准确代码):

这段代码将一行一行地读取文件(因此,一旦到达文件末尾就会给出一个错误),并将读取的内容分配给变量variab。如果要在到达文件的最后一行时停止,则需要在read命令中添加一个参数,特别是iostat参数,该参数根据read命令的状态采用不同的值()。这意味着,通过检查iostat的值,可以检查是否到达文件的末尾。当您这样做时,您可以通过一条语句轻松地退出do循环

至于最小值/最大值部分,请考虑最小值和最大值的含义,以及您将如何进行检查。如果是我,我想知道文件中的最大数量是多少,我可能会在脑海中做这样的事情:

  • “文件的最大数量是第一个(例如5)(为什么不是,对吗?),我在一个小记事本上写下最大值:5,位置:1”
  • “第二个数字(例如2)是否大于当前最大值(即第一个)?”
  • “在这种情况下,它不是,所以我不写任何东西并继续”
  • “第三个数字(如16)是否大于当前最大值(即第一个)?”
  • “在我的情况下是这样的,所以我在记事本上写下,max:16,位置:3”
如果您继续这样做,您将找到文件的最大值及其所在位置

最小值的过程完全相同,但检查的是较小的数字,而不是较大的数字

我可以给出完整的代码,但看到它是多么容易,它告诉我你只是在学习编程,我认为最好是自己找出答案并填补我答案中的空白

   open(unit=122,file="path_to_file_with_extension"))
    do
     read(122,*) variab
    enddo