プロが教えるわが家の防犯対策術!

最近のFortranではC++のようなメモリ管理(って言うんでしょうか?)ができる様になったかもしれないと思っているのですが、どうでしょうか。あるいはデータ構造というような言葉ありますが。
具体的にはリスト、ハッシュ、動的配列のようなものです。非常にざっくりした質問です。

Fortranですから科学技術計算に特化したようなものですが、それでもデータ構造に依存した解き方があると思いますのでどの程度対応できるかなと思っているのですが。

Fortran 90,95,それ以降とかなり進化したのではないかと思います。

ざっくりした方向性としてはどうでしょうか。逆にC++に出来て、Fortranに絶対できないこともあるのでしょうか。

A 回答 (2件)

「連想配列」の本来の英語は associative array です. 連想配列を実装する 1つの方法としてハッシュ表があるだけであって, 連想配列のことをハッシュと呼ぶのは (概念と実装を混同しているという点で) 本当は不適当です. 「1つの方法」と書いているようにほかにも実装方法はあって, 例えば C++98 では (std::map というクラスですが) 平衡 2分木で実装することが想定されています.



まあ, 連想配列自体はある意味 FORTRAN の時代からあったといえなくもないんだけどね. なにしろ
識別子は英字 6文字まで
だったわけだし.

あと, 「何ができるのか」あるいは「何ができないのか」に関しては, それこそ
ライブラリがあれば何でもできる
としか言えません. やろうと思えば Fortran で GUI のプログラムだって作れるし, 逆に C では (「標準ライブラリ」と呼ばれる) ライブラリがなければ入出力すらまともに動作しません.
    • good
    • 0
この回答へのお礼

詳しくご説明頂きありがとうございます。探索プログラミングとかデータ構造というような内容の本はほとんどC(or C++)によって解説されており、やっぱりCでないとダメなのかなあと思ったりします。どんな言語でもできるのだけれどライブラリがどの程度整備されているか、というところで差が出ると理解しました。ただ、ライブラリが多いということはできることが広がる分、学習しておくことが多いのかなあと思います。Cにはいろんな種類があるようなのでそこも整理しておく必要がありそうです。

お礼日時:2016/02/12 22:53

allocate とか deallocate とかの手続きがあって実行時にメモリを要求できるようになっているので, 線形リストや動的配列は可能です. ハッシュは... えと... あなたのいう「ハッシュ」ってなんでしょうか?



あと最後の段落は「何を使っていいか」によってしまう. C++ など「言語単体では入出力すらできない」ともいえるんで.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ハッシュっCの連想配列の英字名ではないでしょうか。実はよく知らないのですが。
C++と書きましたが、Cも含めての質問でした。CファミリーとFortranの違いというところです。
またCでの開発環境とFortranでの開発環境と言った方が正確かもしれません。

「Cでやっているよ、ハッシュがあるから」という話を聞いたことがあり、Fortranじゃできないのかなと思いました。

お礼日時:2016/02/09 02:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!