プロが教える店舗&オフィスのセキュリティ対策術

元ネタ。
http://oshiete1.goo.ne.jp/qa4104356.html
http://oshiete1.goo.ne.jp/qa4114624.html

コンパイラ: G95

ソースファイル:
http://cid-b89cb784f5346675.skydrive.live.com/se …

ある程度Q4104356 #1を移植するつもりで書きました。
実際このソースコードをコンパイルし,6以上の偶数を二つの素数の和で出力できているのですが,

VB6でいうReDim Preserveに相当するものをやろうとして
ループ回数に応じて配列を広げるために
allocateした配列をもう一度allocateしなおそうとするとエラーが出ます。そのため,無理やり要素数100000と固定した整数配列と,現在格納されている個数を持ち、使いまわすことで実装しています。

ReDim Preserve相当句
or
std::vector<T>同等機能
or
変数のスコープをもっと狭くもてる実装方法

等、教えていただきたいと思ってます。
=========
効率が悪いのは解ってますが,頭の中に入れて組み立てなおすのが面倒くさいのでAsanoNagiさんのアルゴリズムを使っていません。

A 回答 (1件)

allocatable 属性を付ける.


いずれにしても (C++ と同じく) 言語として「要素を保存したまま reallocate」という機能は持っていないので「新しく allocate → コピー → deallocate」という手順になると思うけど.
    • good
    • 0

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