投稿者 るしぇ  (社会人) 投稿日時 2009/11/21 04:17:36
最初のレスで解決するだけのヒントは出てるね。

波長1は1行目だけのデータを読んだ時点で置いておいて、
波長2はファイルの最後の行まで読まないと見つからないのでは?
提示されたコードは波長1も波長2も1行ずつ読もうとしてるね。

だから、先に波長2とそれに対応する数値だけファイルの最後まで
読み込んで配列に覚えておけば?ってことですね。
波長2と対応する数値を、横2列×縦ファイル行数分の配列に
全部入れておけば、ファイルを何度も読み直さなくてもいい
わけです。

それ以外は、人間がやる方法と同じで特に難しい内容って
ありませんよね?

波長1の1行目読む。
 波長2の1行目読む。波長1と比較。一致してたら波長1の2行目へ。
 波長2の2行目読む。波長1と比較。一致してたら波長1の2行目へ。
 …
 波長2の最終行読む。波長1と比較。一致してたら波長1の2行目へ。

波長1の2行目読む。
 波長2の1行目読む。波長1と比較。一致してたら波長1の3行目へ。
 波長2の2行目読む。波長1と比較。一致してたら波長1の3行目へ。
 …
 波長2の最終行読む。波長1と比較。一致してたら波長1の3行目へ。

波長1の3行目読む。
 波長2の1行目読む。波長1と比較。一致してたら波長1の4行目へ。
 波長2の2行目読む。波長1と比較。一致してたら波長1の4行目へ。
 …
 波長2の最終行読む。波長1と比較。一致してたら波長1の4行目へ。

あとは同じ処理が繰り替えされるのでループを使ってまとめれば
上の処理が5行ぐらいのプログラムにまとまりそうだね。