#include #include "frac.h" #define M_SIZE 6 void show(frac mat[M_SIZE][M_SIZE + 1]) { for (int i = 0; i < M_SIZE; i++) { for (int j = 0; j < M_SIZE + 1; j++) { if (mat[i][j].sign != 0) { cout << '-'; } cout << mat[i][j].upper << '/' << mat[i][j].lower << ' '; } cout << endl; } } int main() { frac buf; frac mat[M_SIZE][M_SIZE + 1] = { #include "co.dat" }; for (int i = 0; i < M_SIZE; i++) { buf = mat[i][i]; for (int k = 0; k < M_SIZE + 1; k++) { mat[i][k] = mat[i][k] / buf; } for (int j = 0; j < M_SIZE; j++) { if (i == j) continue; buf = mat[j][i]; for (int k = 0; k < M_SIZE + 1; k++) { mat[j][k] = mat[j][k] - mat[i][k] * buf; } } } show(mat); return 0; }