Advertisement
wintest

МАТРИЦА:Ненулеви елементи около 2та диагонала

Jan 15th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <ctime>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. #define M 5
  9. #define N 5
  10.  
  11. bool differentThanZero(int array[][N], size_t rows);
  12. void fillTheArray(int array[][N], size_t rows);
  13. void printTheArray(int array[][N], size_t rows);
  14.  
  15. int main(){
  16.     setlocale(LC_ALL, "Bulgarian");
  17.     srand(time(NULL));
  18.  
  19.     int array[M][N];
  20.     fillTheArray(array, M);
  21.     printTheArray(array, M);
  22.     cout << endl;
  23.     cout << boolalpha << differentThanZero(array, M);
  24.    
  25.     return 0;
  26. }
  27. //да се провери дали елементите около двата диагонала са ненулеви.
  28. bool differentThanZero(int array[][N], size_t rows){
  29.     for (size_t i = 0; i < M; i++)
  30.     {
  31.         for (size_t j = 0; j < N; j++){
  32.             if (i == j){
  33.                 if (i == 0){
  34.                     if (array[i][j + 1] == 0 || array[i + 1][j] == 0)return false;
  35.                 }
  36.                 else if (i == M - 1){
  37.                     if (array[i][j - 1] == 0 || array[i - 1][j] == 0)return false;
  38.                 }
  39.                 else{
  40.                     if (array[i + 1][j] == 0 || array[i - 1][j] == 0 || array[i][j + 1] == 0 || array[i][j - 1] == 0)return false;
  41.                 }
  42.             }  if (i + j == N - 1){
  43.                 if (i == 0){
  44.                     if (array[i][j - 1] == 0 || array[i + 1][j] == 0)return false;
  45.                 }
  46.                 else if (i == M - 1){
  47.                     if (array[i][j + 1] == 0 || array[i -1 ][j] == 0)return false;
  48.                 }
  49.                 else{
  50.                     if (array[i + 1][j] == 0 || array[i - 1][j] == 0 || array[i][j + 1] == 0 || array[i][j - 1] == 0)return false;
  51.                 }
  52.             }
  53.  
  54.         }
  55.     }
  56.     return true;
  57. }
  58.  
  59. void fillTheArray(int array[][N], size_t rows){
  60.     for (size_t i = 0; i < M; i++)
  61.     {
  62.         for (size_t j = 0; j < N; j++){
  63.             array[i][j] = rand() % 10 ;
  64.  
  65.         }
  66.     }
  67. }
  68. //принтирам масив
  69. void printTheArray(int array[][N], size_t rows){
  70.     cout << "Оригиналната матрица е това : " << endl;
  71.  
  72.     for (size_t i = 0; i < M; i++)
  73.     {
  74.         for (size_t j = 0; j < N; j++){
  75.             cout << array[i][j] << "\t";
  76.         }
  77.         cout << endl;
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement