Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double a[105][105];
- void PrintMatrix(int n){
- for (int i = 0; i < n; i++) {
- for (int j = 0; j <= n; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- }
- int PerformOperation(int n){
- int i, j, k = 0, c, flag = 0, m = 0;
- double pro = 0.0;
- for (i = 0; i < n; i++){
- if (a[i][i] == 0.0){
- c = 1;
- while (a[i + c][i] == 0.0 && (i + c) < n)
- c++;
- if ((i + c) == n) {
- flag = 1;
- break;
- }
- for (j = i, k = 0; k <= n; k++)
- swap(a[j][k], a[j+c][k]);
- }
- for (j = 0; j < n; j++) {
- if (i != j) {
- double pro = a[j][i] / a[i][i];
- for (k = 0; k <= n; k++)
- a[j][k] = a[j][k] - (a[i][k]) * pro;
- }
- }
- }
- return flag;
- }
- int CheckConsistency(int n){
- int i, j;
- double sum;
- int flag = 3;
- for (i = 0; i < n; i++){
- sum = 0;
- for (j = 0; j < n; j++)
- sum = sum + a[i][j];
- if (sum == a[i][j]){
- flag = 2;
- cout << i << endl;
- }
- }
- return flag;
- }
- void solve(int n){
- int flag = PerformOperation(n);
- if(flag==1) flag = CheckConsistency(n);
- //PrintMatrix(a, n);
- if (flag == 2)
- cout << "Infinite Solutions Exists" << endl;
- else if (flag == 3)
- cout << "No Solution Exists" << endl;
- else {
- // for (int i = 0; i < n; i++)
- // cout << a[i][n] / a[i][i] << " ";
- double res = a[0][100]/a[0][0];
- cout << fixed;
- cout << setprecision(10) << res << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement