![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Fortran77のプログラミングを勉強しています。
多次元配列の並び替えをする時に、各行の組み合わせを変えずにある列に含まれる要素についてソートを行いたいのですが、やり方が分かりません。どなたか方法を教えてくださいますでしょうか。
例えば、
(1,1)A,(1,2)あ,(1,3)3
(2,1)B,(2,2)い,(2,3)1
(3,1)C,(3,2)う,(3,3)2
という3×3の配列を読み込み、3列目を昇順に並べ替えて、
(1,1)B,(1,2)い,(1,3)1
(2,1)C,(2,2)う,(2,3)2
(3,1)A,(3,2)あ,(3,3)3
とした上で、別のファイルに出力したいのです。
初歩的な質問で恐縮ですが、どなたかご教授よろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
えっと, 1000行×50列のデータがあって, 「ある列」によってソートしたいとします.
その特定の列では, 当然データを移動させることになりますが, それにひきづられる形で他の列もデータを動かさなければなりません. 従って, 列が 1個の場合と 2個の場合では後者の方がプログラムが (わずかに) 長くなりますが, 10個くらいになると do ループで書くでしょうから長さは変わらなくなります.
あ, Fortran だと「配列全体のコピー」ができるんでしたっけ. だとしたら, 列がいくつあっても長さは変わらないですねぇ, 多分.
No.1
- 回答日時:
つまり, 「1次元配列ならソートできる」んです... よね?
だったら, 「データを移動する」ときに「必要なデータも一緒に動かす」だけ.
この回答への補足
ご回答ありがとうございます。
浅学ゆえ飲み込みが悪く恐縮ですが、ある列をソートしたい場合、列の数が多くなるほどプログラムの量も多くなるという理解でよろしいのでしょうか?
例えば1000行×50列の表を扱う時は、49の要素をそれぞれ同じように動かしていかねばならないのでしょうか。
それとも、ソートしたい列以外の部分はひとまとめにしてしまってソートするのでしょうか。
お手数煩わせますが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でアナグラムを求めるプロ...
-
Fortran77で多次元配列を並び替...
-
列のどこをクリックしてもソー...
-
10個の整数を入力して小さい順...
-
DataGridViewで選択行が変わる...
-
C言語でファイルの中身をソー...
-
Excel2010 /VBA ユーザー設定リ...
-
選択された範囲の中からx番目に...
-
スプレッドでのソート
-
VB.NETでファイル名順にファイ...
-
C++ 入力した3つのint型の整数...
-
c言語プログラミング 等差数列...
-
関数から配列を返すには?
-
C言語 配列の長さの上限
-
配列の要素数に変数を入れたい...
-
参照型で受け取った引数をポイ...
-
構造体のextern方法
-
文字列の途中から途中までを抽出
-
ビットをローテートするプログ...
-
init関数の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
C# DataGridView のヘッダーセ...
-
VB.NETでファイル名順にファイ...
-
あるディレクトリ内のファイル...
-
VBA基本構文の作り方 2列の...
-
ファイル名「1.jpg ~10.jpg~...
-
Excelですべての組合せ(重複組...
-
vbでDataTableの抽出コピー
-
C# DataTableの行をソートしてD...
-
listboxの並び替え
-
(VBA) Dir 関数で取得するファ...
-
コレクションの数値をSortで並...
-
C言語・要素除去
-
Fortran77で多次元配列を並び替...
-
C# DataTable ソートについて
-
VBScriptで重複レコードを削除...
-
excel VBA の条件をつけての列...
-
文字列をソートする方法
-
n番目に大きい数を求めるアル...
-
C言語でアナグラムを求めるプロ...
おすすめ情報