Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- void create(int** x, int n, char p)
- {
- int i,j;
- for (i = 0; i < n; i++)
- for(j = 0; j < n;j++)
- {
- cout << p<<"[" << i << "][" << j << "]= ";
- cin >> x[i][j];
- }
- }
- void show(int** x, int n)
- {
- int i, j;
- for (i = 0; i < n; i++)
- {
- {
- for (j = 0; j < n; j++)
- cout << setw(6)<<x[i][j];
- }
- cout << endl;
- }
- }
- int** op1(int** x, int n)
- {
- int** p = new int* [n];
- for (int i = 0; i < n; i++) {
- p[i] = new int[n];
- }
- int i, j;
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++)
- p[i][j] = x[i][j];
- for (j = 0; j < n - 1; j++)
- {
- for (i = 1 + j; i < n; i++)
- p[i][j] = 0;
- }
- return p;
- }
- int** op2(int** x, int n)
- {
- int** p = new int* [n];
- for (int i = 0; i < n; i++) {
- p[i] = new int[n];
- }
- int i, j;
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++)
- p[i][j] = x[i][j];
- for (j = 1; j < n; j++)
- {
- for (i = 0; i <j; i++)
- p[i][j] = 0;
- }
- return p;
- }
- void add(int **x,int** y,int ** z,int n)
- {
- int i, j;
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++)
- z[i][j] = y[i][j] + x[i][j];
- }
- void mult (int** x, int** y, int** z, int n)
- {
- int i, j, k;
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++)
- {
- z[i][j] = 0;
- for(k=0;k<n;k++)
- z[i][j] =z[i][j]+ y[i][k]*x[k][j];
- }
- }
- void addnot(int** x, int** y, int** z, int n)
- {
- int i, j;
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++)
- z[i][j] = x[i][j] - y[i][j];
- }
- bool EA(int** x, int n)
- {
- bool t, p;
- t = false;
- int i, j;
- for (i = 0; i < n && !t; i++)
- {
- p = true;
- for (j = 0; j < n && p; j++)
- if (x[i][j] <= 0)
- p = false;
- t = p;
- }return t;
- }
- int main()
- {
- int n;
- int** a;
- int** b;
- int** c;
- int** r;
- int** k;
- cout << "enter size of array: n=";
- cin >> n;
- int i,j;
- a = new int* [n];
- b = new int* [n];
- c = new int* [n];
- r = new int* [n];
- k = new int* [n];
- for (i = 0; i < n; i++)
- {
- a[i] = new int[n];
- b[i] = new int[n];
- c[i] = new int[n];
- r[i] = new int[n];
- k[i] = new int[n];
- }
- cout << "enter Matrix A" << endl;
- create(a, n,'a');
- if (EA(a, n))
- {
- c = op1(a, n);
- r = op2(a, n);
- mult(a, r, k, n);
- addnot(c, k, b, n);
- }
- else
- {
- c = op2(a, n);
- r = op1(a, n);
- mult(a, r, k, n);
- add(c, k, b, n);
- }
- show(b, n);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement