Advertisement
Danvil

LABA2

Mar 15th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.22 KB | None | 0 0
  1. //1.          Количество строк, содержащих хотя бы один нулевой элемент.
  2. int IfHaveZero(int**arr, int N)
  3.     {
  4.         int k=0;
  5.         for(int i = 0; i < N; i++)
  6.         {
  7.              for(int j = 0; j < N; j++)
  8.             {
  9.             if (arr[i][j] == 0)
  10.                 {
  11.                     k++;
  12.                     break;
  13.                 }
  14.         }
  15.     }
  16.          return k;
  17.     }
  18.  
  19. //2.Количество седловых точек матрицы.
  20. //Матрица A имеет седловую точку A[i][j], если A[i][j]  является минимальным элементом в i-ой строке и максимальным в j-ом столбце
  21. bool IsMax (int i, int j,int**arr,int N)
  22. {
  23.      int max=arr[i][j];
  24.         for(int i=0;i<N;i++)
  25.                 if(max<arr[i][j])
  26.                         return false;
  27.         return true;
  28. }
  29. bool IsMin (int i, int j,int**arr,int N)
  30. {
  31.      int min=arr[i][j];
  32.         for(int j=0;j<N;j++)
  33.                 if(min>arr[i][j])
  34.                         return false;
  35.         return true;
  36. }
  37. int SaddlePoints(int**arr, int N)  
  38. {
  39.  
  40.     int k=0;
  41.     for (int i = 0; i<N;i++)
  42.         for (int j = 0; j<N;j++)
  43.             {
  44.                 if(IsMin(i,j,arr,N) && IsMax(i,j,arr,N))
  45.                         {
  46.                                 k++;
  47.                         }
  48.             }
  49.    
  50. return k;
  51. }
  52.  
  53. #include <iostream>
  54. using namespace std;
  55.  
  56. int main()
  57. {
  58.     try
  59.     {
  60.     setlocale(LC_ALL, "rus");
  61.     int n;
  62.     cout << "Введите порядок матрицы : ";
  63.     cin>>n;
  64.     int**arr = new int*[n];
  65.     for (int i = 0; i < n; i++)
  66.             arr[i] = new int[n];
  67.  
  68.     int k=0;
  69.     cout << "Введите элементы массива : " << endl;
  70.     for (int i = 0; i < n; i++)
  71.     {
  72.         for (int j = 0;j<n;j++)
  73.         {
  74.             cout << "[" << i+1 << "," << j+1 << "] ";
  75.             cin >> arr[i][j];
  76.         }
  77.     }
  78.     cout << "Получившийся массив :" << endl;
  79.     for(int i = 0; i < n; i++)
  80.     {
  81.         for(int j = 0; j < n; j++)
  82.             cout << arr[i][j] << ", ";
  83.         cout << endl;
  84.     }
  85.    
  86.     cout << "Строки с нулем : " << IfHaveZero(arr,n) <<endl;
  87.     cout << "Количество седловых точек матрицы : " << SaddlePoints(arr,n) <<endl;
  88.     }
  89.     catch (const char*errStr)
  90.     {
  91.         cout <<errStr;
  92.     }
  93.     system("pause");
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement