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を使って配列してから・・・・みたいにするのですか?説明に不足があるかもしれません。すいません。
補足
とても詳しく書かれていて読みやすかったです 本当にここまで詳しく教えて下さりありがとうございました