给定矩阵W,求矩阵A、B,A、B满足
Aij = Aji, for all i, j (1 ≤ i, j ≤ n);
Bij = - Bji, for all i, j (1 ≤ i, j ≤ n);
Wij = Aij + Bij, for all i, j (1 ≤ i, j ≤ n).
形象直观的题目。。。上面式子移项可得Aij = (Wij + Wji) / 2,Bij = Wij - (Wij + Wji) / 2。最后输出格式要求保留8位小数。
#include <cstdio>
#include <iostream>
using namespace std;
int w[200][200] ;
int main() {
//freopen("in.txt" , "r" , stdin) ;
int n ;
cin >> n ;
for (int i = 1 ; i <= n ; i ++) {
for (int j = 1 ; j <= n ; j ++) {
cin >> w[i][j] ;
}
}
for (int i = 1 ; i <= n ; i ++) {
for (int j = 1 ; j <= n ; j ++) {
printf("%10.8f%s" , (w[i][j]+w[j][i])/2.0 , (j==n)?"\n":" ") ;
}
}
for (int i = 1 ; i <= n ; i ++) {
for (int j = 1 ; j <= n ; j ++) {
printf("%10.8f%s" , w[i][j]-(w[i][j]+w[j][i])/2.0 , (j==n)?"\n":" ") ;
}
}
return 0 ;
}