.dimacs
次のような形式のファイルが 2 つあります。
c example_01.cnf
p cnf 6 9
1 0
-2 1 0
-1 2 0
-5 1 0
-6 1 0
-3 2 0
-4 2 0
-3 -4 0
3 4 -2 0
と、
c example_02.cnf
p cnf 9 6
-7 2 0
7 -2 0
-8 3 0
8 -3 0
-9 4 0
9 -4 0
example_01.cnf
fileと比較して、 file から(行のいずれかで)同様の値を持つ行のみexample_02.cnf
を fileから抽出し、結果を新しいファイルに保存します。example_01.cnf
example_02.cnf
example_result.cnf
この場合、 は次のexample_result.cnf
ようになります。
c example_result.cnf
p cnf 4 6
-2 1 0
-1 2 0
-3 2 0
-4 2 0
-3 -4 0
3 4 -2 0
たとえば、 、1 0
、-5 1 0
およびの行は、 、、および-6 1 0
のいずれの番号も.1
5
6
example_02.cnf
私の現在のコードは次のとおりです。
import scala.io.Source
object Example_01 {
val source = Source.fromFile("example_01.cnf")
val source2 = Source.fromFile("example_02.cnf")
val destination = new PrintWriter(new File("example_result.cnf"))
def main(args: Array[String]): Unit = {
var nrVariables: Int = 0
var nrLines: Int = 0
destination.write("c example_result.cnf \n")
destination.write("p cnf " + nrVariables + " " + nrLines + "\n") //not finished!
/* How I can compare the all the numbers from the second file 'source2' like in the 'if' statement below? */
for(line <- source.getLines()) ; if line.contains("2") & line.contains("0") ) {
destination.write(line)
destination.write("\n")
nrLines += 1
}
source.close()
destination.close()
}
このコードでは、2 番目のファイルexample_02.cnf
はまだ使用していません。これら 2 つのファイルを比較するにはどうすればよいですか?