- 締切済み
C言語の並び替え
プログラミング初心者です。 1 1 8227 49 1204 1 1 2 1 2 1 0 1 1 8203 48 48207 9 1 2 2 3 1 0 1 1 10367 56 48206 8 2 2 1 2 1 0 1 1 14206 74 1212 4 1 2 1 2 1 0 1 1 1204 1 20201 95 1 2 3 4 1 0 1 1 22210 107 30201 136 1 2 2 3 2 0 1 1 26103 119 11103 60 1 2 2 3 1 0 という横に87個、縦に30000個のデータファイルがあります。 データの並び替えをしたいのですが まず1行目、4列目(1, 4)のデータを先頭に持ってきて 次に4列目とi列目を比較して同じ(iは1行目i列目という意味)(i=14, 22, 34, 38, 42)であれば2番目に持ってきます。 次にi列目が決まった時jは以下のように決まるとします。またjはj列目にあるデータとします。 i=14のとき j=16, 18, 20 i=22のとき j=24, 26, 28, 30, 32 i=34のとき j=36 i=38のとき j=40 i=42のとき j=44 を順番にならべてください。 例)4列目が5のとき、 5 5(i=22) 3(j=24) 2(j=26) 0(j=28) 0(j=30) 3(j=32) としたいのです。 次にj列目とk列目(k=14, 22, 34, 38, 42)を比べ同じであれば、iを選んだときにjを並べたようにしたいのです。(少しわかりにくい?) 例) 5 5 3 2 0 0 3(j=32) 3(k=14) (16列目)(18列目)(20列目) というように。 最後にn列目と6列目を比較して同じであれば終了。次は2行目、4列目… それを30000行目まで。 というプログラミングをつくりたいです。 最終的に、txt形式にしたいのですが、なにぶん知識は本でしかなく、どうすればいいかわかりません。 fgets、strtok、atoiを使って配列してから・・・・みたいにするのですか?説明に不足があるかもしれません。すいません。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- yama5140
- ベストアンサー率54% (136/250)
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
- php504
- ベストアンサー率42% (926/2160)
- SilverThaw
- ベストアンサー率32% (260/806)
- Tacosan
- ベストアンサー率23% (3656/15482)
補足
13列目から航空の出発空港(都道府県) 14列目 航空の出発空港(207生活圏) ・ ・ ・ ・ という風に都道府県、生活圏、都道府県、生活圏・・・・・ で並んでます。 全国幹線旅客純流動調査の個票データを使います。 旅行目的、代表交通機関、年齢、宿泊日数など87項目の個人属性が書いてあります