No.4ベストアンサー
- 回答日時:
学校の宿題でなければ、
「配列が大きすぎてだめなんです。」は、配列ではなくデータベースを利用すれば取り扱うデータに事実上の制限はないです。
SQLiteという、無償・簡単・結構高性能なデータベースが使えますよ ^ ^
色々考えた結果、データの読み込みというよりは、計算過程でいらないデータを保持しすぎているような気がしてきました。
SQLITE...初心者なので結構未知な世界ですが、これからもプログラムは使用していくので、ぜひ利用してみたいと思います。
いろいろわかりづらくて申し訳ありませんでした。
また、よろしくお願い致します。
No.3
- 回答日時:
質問をするときには, なるべく実際のものを書いてください. でないと, このように無駄なやりとりをしなければなりません.
そもそもそのプログラムは何をしたいのですか? データはどのくらい保持する必要があるのですか? 「i=9000ではなくてD(j,k,l,m)にしたい」とはどういうことですか?
この回答への補足
お手間おかけしてしまい申し訳ありません。
そもそも、やりたいのは、あるイベントが50年間に9000回起こるのですが、そのイベントで発生したものAを用いて(Aはデータとしてあります)、新たにBを計算し、2回目のイベントAに1回目で求めたBを使って、あらたなBを計算したいのです。それを繰り返します。ただし、年の一番初めだけBをある量C減らします。
なので、1イベント前のデータだけ保持していれば大丈夫です。
プログラムは長くて載せられないのですが、配列を小さくする必要があるみたいです。
今まではループを9000でまわしていて、D(i=9000,l,m)を用いてたのですが、D(j=YEAR,k=EVENT,l,m)にしたら、jは最大50でkも最大250なので、配列が小さくなるのかなと思ったのですが、今思ったら変わらないですね。。。すみません、これは忘れて下さい。。
おそらくデータをすべて保持しているからだめな気がします。
1イベント前のデータのみ残して、後は消すことをしたいのですが、どうしたらいいのでしょうか?
わかりづらい質問で申し訳ありませんでした。これからは気をつけます。
あと、もっと整理してから質問するようにします。
上記の悩みも解決致しましたので、締め切らせていただきます。
ご回答ありがとうごさいました。
No.2
- 回答日時:
「配列が大きすぎてだめ」とは, 具体的にどういうことなんでしょうか?
まさか「配列が大きすぎてだめ」とまさにそのままのエラーメッセージが出ているわけではないですよね?
あと, 処理系もきちんと書いてください.
この回答への補足
説明不足ですみません。
もともとは配列D(i,l,m)だったのですが(i=9000,l,m=500でプログラムの中にこのような配列がいくつか登場します)大きすぎだったのです。
エラーメッセージは静的~が超えました、みたいなエラーでした。
そこで、i=9000ではなくて
D(j,k,l,m)にしたいのです。
詳しくいうと
jが年数、kがイベントの数で、j年のときにイベントが1,2,3,・・・kと増えていき、新しい年になったらまた1,2,3・・・とイベントが増えるようデータを読み込みたいのです。
ちなみに前まで使っていたiは総イベント数でした。
do j=1,year
do k=1,event
処理例
x(j,k)=R(j,k)*2
end do
end do
みたいに使いたいです。
わかりにくかったらすみませんが、また質問してください。
No.1
- 回答日時:
いまどき9,000行のデータで配列が「大きすぎてだめ」なんてないでしょう!
「普通に読んだらNGなデータをどう処理するか?」という学校の宿題でないですか?
この回答への補足
説明不足ですみません。
もともとは配列D(i,l,m)だったのですが(i=9000,l,m=500でプログラムの中にこのような配列がいくつか登場します)大きすぎだったのです。
そこで、i=9000ではなくて
D(j,k,l,m)にしたいのです。
詳しくいうと
jが年数、kがイベントの数で、j年のときにイベントが1,2,3,・・・kと増えていき、新しい年になったらまた1,2,3・・・とイベントが増えるようにしたいのです。
ちなみに前まで使っていたiは総イベント数でした。
わかりにくかったらすみませんが、また質問してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
複数のtextboxの処理を一括で行...
-
グラフの「項目軸ラベルに使用...
-
配列のペースト出力結果の書式...
-
VBA Dowhile 判断条件に動的配...
-
VB6のメモリ解放に関して
-
Excel2010のinputboxで複数デー...
-
VB6からの移行したいけど、VB.N...
-
構造体配列の特定のメンバーをF...
-
C#でbyte配列から画像を表示さ...
-
Excelのメモリ(配列)の上限は2G...
-
vba フィルター 複数条件 3つ以...
-
pictureboxの名前を変数で設定...
-
COBOLの基本的な事なので...
-
VBScriptでCSVファイルを読み出...
-
VBAで配列引数を値渡しできない...
-
VBScript で ADO Streamオブジ...
-
Redim とEraseの違いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
-
Excel2010のinputboxで複数デー...
-
構造体配列の特定のメンバーをF...
-
Redim とEraseの違いは?
-
配列のペースト出力結果の書式...
-
COBOLの基本的な事なので...
-
大量の変数を定義するにはどう...
-
DBから取得した値を配列へ代入する
-
EXCEL VBAの課題です
-
VBScriptでCSVファイルを読み出...
-
VBAでMODE関数をつくる
-
配列の中の最大値とそのインデ...
-
定数配列の書き方
-
構造体配列内の文字列検索のよ...
-
CheckBoxの配列化
-
Excelのメモリ(配列)の上限は2G...
おすすめ情報