質問: new Program(); p.input(); p.compute(); p.output(); } } ``` よろしければご指摘いただけないでしょうか
回答: computeメソッドの最初の4行 ``` num[0][0] = num[1][1]; num[0][1] = -num[0][1]; num[1][0] = -num[1][0]; num[1][1] = num[0][0]; ``` この最初で(0,0)の要素が(1,1)の要素で書き換わってしまいます。その後(1,1)の要素が(0,0)の要素で書き換わりますが、これは最初に(0,0)にあった要素ではなく、**最初に書き換えた(1,1)の要素だった数**なので、結果的に元と変わりません。 新たな配列に格納するか、(0,0)と(1,1)を入れ替える際に別の変数を用意しておく必要があります。