ねえ、私はこれ(fortran)を、一連のポイント(それらのsyscount)の最小スパニングツリーを見つけることを目的として作成しました。今日の初めにjavascriptで書いたので、このアプローチが機能することを知っています。jsは遅いですが、Fortranがどれだけ速くなるかを見たかったのです!! 唯一の問題は、それが機能していないことです。迷惑なエラーが発生します。
prims.f95:72.43:
if((check == 1).and。(path(nodesin(j))(k)<minpath))then
1
エラー:(1)の式に右括弧が必要です
一体何なの?行の43番目の文字は「パス」の「h」です
nodesin(1) = 1
do i = 1,syscount-1
pathstart = -1
pathend = -1
minpath = 2000
do j = 1,i
do k = 1, syscount
check = 1
do l = 1, i
if(nodesin(l) == k) then
check = 0
end if
end do
if((check == 1) .and. (path(nodesin(j))(k) < minpath)) then
minpath = path(nodesin(j))(k)
pathstart = nodesin(j)
pathend = k
end if
end do
end do
nodesin(i+1) = pathend
minpaths(i)(1) = pathstart
minpaths(i)(2) = pathend
end do
また、私はFortranにかなり慣れていないので、他にもいくつか質問があります。
.andの代わりに&&を使用できますか。?
他の多くの言語で見つかったfor(object in list){}ループのバージョンはありますか?
php関数in_arrayのバージョンはありますか?つまり、bool in_array(needle、haystack)であり、存在する場合は、次の方法よりも優れた方法があります。
check = false
Asize = size(array)
do i = 1, Asize
if(array(i) == needle) then
check = true
end if
end do
次に、チェック変数を使用して、そこにあるかどうかを確認しますか?
(私はこれまでstackoverflowに何も投稿していません。エチケットをたくさん壊したとしても、怒らないでください!)