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は総イベント数でした。
わかりにくかったらすみませんが、また質問してください。
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.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.4ベストアンサー
- 回答日時:
学校の宿題でなければ、
「配列が大きすぎてだめなんです。」は、配列ではなくデータベースを利用すれば取り扱うデータに事実上の制限はないです。
SQLiteという、無償・簡単・結構高性能なデータベースが使えますよ ^ ^
色々考えた結果、データの読み込みというよりは、計算過程でいらないデータを保持しすぎているような気がしてきました。
SQLITE...初心者なので結構未知な世界ですが、これからもプログラムは使用していくので、ぜひ利用してみたいと思います。
いろいろわかりづらくて申し訳ありませんでした。
また、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
構造体配列の特定のメンバーをF...
-
テキストボックの文字を一行ず...
-
C#でbyte配列から画像を表示さ...
-
定数配列の書き方
-
レコードセットの中身を配列に...
-
VB.NETにて、構造体へデータを...
-
CheckBoxの配列化
-
エクセルでXY座標に並べられた...
-
2次元配列の初期値
-
OutOfMemoryExceptionの回避策...
-
VBAで配列引数を値渡しできない...
-
構造体配列内の文字列検索のよ...
-
EXCELを使って、アクセスログを...
-
DBから取得した値を配列へ代入する
-
配列のペースト出力結果の書式...
-
COBOLの基本的な事なので...
-
POSTリクエストの投げ方
-
2次元配列でウォッチが出来ない
-
配列からのCSVファイルの作...
マンスリーランキングこのカテゴリの人気マンスリー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...
おすすめ情報