我的姓氏字符数组
FileUtils.java
我必须在文件中写上最少的姓氏。
我找不到解决我问题的函数。 Fortran具有常规功能MINVAL,但其数组必须仅是INTEGER或REAL。
感谢任何想法:-)
UPD: GFortran显示错误
uri = Uri.parse(uri.toString().replace("https://cdvfile/", "cdvfile://localhost/"));
UPD2: 程序的主要部分
lr1.f90
character(SNAME_LEN, kind=CH_) :: Surnames(SNAME_AMOUNT) = ""
input.txt
src/main.f90:73:22:
write (*,*) MINVAL(Surnames(:))
1
Error: ‘array’ argument of ‘minval’ intrinsic at (1) must be INTEGER or REAL
答案 0 :(得分:1)
在错误https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36313中跟踪了字符类型缺少的MINVAL
,这是Fortran 2003的新功能,在Fortran 95中,这些功能仅适用于实数和整数。将您的编译器更新到GCC版本8或更高版本。
> cat minvalchar.f90
print *,minval(["a"])
end
> gfortran-8 minvalchar.f90
> ./a.out
a
请注意,此方法可能不会使用您可能需要的语言排序规则:
print *,maxval([character(4) :: "a","b","c","č","d","ď","e","é","f"])
end
> ./a.out
ď
特别考虑到您现在发布的文件使用西里尔字母。我不知道您所需的字符是否以Unicode正确排序。您可能需要在Fortran中使用USC-4,即使这样,该命令也可能不合适。