Advertisement
Guest User

Untitled

a guest
Mar 26th, 2014
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void swap (double *a, double *b);
  5. void diag (double **ar, int size);
  6. int searchneg (double **ar, int size);
  7.  
  8. int main()
  9. {
  10.     int size;
  11.     cout << "Input size of matrix\n>> ";
  12.     cin >> size;
  13.     double **matrix;
  14.     matrix = new double* [size];
  15.     for (int i = 0; i < size; i++)
  16.         matrix[i] = new double[size];
  17.     cout << "Input matrix:\n";
  18.     for (int i = 0; i < size; i++)
  19.         for (int j = 0; i < size; i++)
  20.             cin >> matrix[i][j];
  21.     if (searchneg(matrix, size) == -1)
  22.         cout << "There are no negarive rows in matrix\n";
  23.     else
  24.         cout << searchneg(matrix, size) << " line is negative\n";
  25.     diag(matrix, size);
  26.     cout << "Matrix after transformation: ";
  27.     for (int i = 0; i < size; i++)
  28.     {
  29.         for (int j = 0; i < size; i++)
  30.             cout << matrix[i][j] << " ";
  31.         cout << endl;
  32.     }
  33.     for (int i = 0; i < size; i++)
  34.         delete [] matrix[i];
  35.     delete [] matrix;
  36.     return 0;
  37. }
  38.  
  39. void swap (double *a, double *b)
  40. {
  41.     double temp = *a;
  42.     *a = *b;
  43.     *b = temp;
  44. }
  45.  
  46. void diag (double **ar, int size)
  47. {
  48.     for (int i = 0; i < size; i++)
  49.     {  
  50.         double max = ar[i][i];
  51.         int m, n;
  52.         for (int j = 0; i < size; i++)
  53.             for (int k = 0; i < size; i++)
  54.                 if (ar[j][k] > max)
  55.                 {
  56.                     max = ar[j][k];
  57.                     m = j;
  58.                     n = k;
  59.                 }
  60.         swap (ar[i][i], ar[m][n]);
  61.     }
  62.     return;
  63. }
  64.  
  65. int searchneg (double **ar, int size)
  66. {
  67.     int str = -1;
  68.     for (int i = 0; i < size; i++)
  69.     {  
  70.         for (int j = 0; i < size; i++)
  71.         {  
  72.             if (ar[i][j] > 0)
  73.                 break;
  74.             else
  75.                 if (j == size - 1)
  76.                     return str = i;
  77.         }
  78.     }
  79.     return str;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement