// Written by Hosung Leo Kim #include using namespace std; class Fraction { private: int numerator; int denominator; public: Fraction() { numerator = 0; denominator = 1; } void setNumerator( int n ) { numerator = n; } void dumpFraction() { cout.width(4); cout << numerator; if ( denominator != 1 ) cout << "/" << denominator; } void div( Fraction divisor ) { numerator *= divisor.denominator; denominator *= divisor.numerator; // compute GCD } }; // class Fraction void dumpCoeff( Fraction coeff[10][11], int N ) { for ( int i = 0; i < N; i++ ) { for ( int j = 0; j < ( N + 1 ); j++ ) { coeff[i][j].dumpFraction(); cout << '\t'; } cout << endl; } } // dumpCoeff() int main() { Fraction coeff[10][11]; int N = 3; coeff[0][0].setNumerator( 2 ); coeff[0][1].setNumerator( 3 ); coeff[0][2].setNumerator( 1 ); coeff[0][3].setNumerator( 11 ); coeff[1][0].setNumerator( 4 ); coeff[1][1].setNumerator( -2 ); coeff[1][2].setNumerator( 3 ); coeff[1][3].setNumerator( 9 ); coeff[2][0].setNumerator( 3 ); coeff[2][1].setNumerator( 5 ); coeff[2][2].setNumerator( -3 ); coeff[2][3].setNumerator( 4 ); dumpCoeff( coeff, N ); int i = 0; Fraction divisor = coeff[0][0]; for ( int j = 0; j < ( N + 1 ); j++ ) coeff[i][j].div( divisor ); cout << endl; dumpCoeff( coeff, N ); return 0; } /* /homes/home30/hkim16/107> a.out 2 3 1 11 4 -2 3 9 3 5 -3 4 2/2 3/2 1/2 11/2 4 -2 3 9 3 5 -3 4 /homes/home30/hkim16/107> */