Advertisement
wintest

МАТРИЦА: Елемент с нулеви съседи

Jan 14th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 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. int findElement(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.     if (findElement(array, M)) cout << findElement(array, M)<< endl;
  24.     else cout << "No such element!" << endl;
  25.     return 0;
  26. }
  27. //И) намиране на елемент на матрицата, който има само нулеви съседи;
  28. int findElement(int array[][N], size_t rows){
  29.     int prev;
  30.     int next;
  31.     for (size_t i = 0; i < M; i++)
  32.     {
  33.         for (size_t j = 0; j < N; j++){
  34.             if (i == 0 && j == 0 && array[i][j + 1] == 0){
  35.                 return array[0][0];
  36.             }
  37.             else if (j == N - 1 && array[i][j - 1] == 0){
  38.                 return array[i][N-1];
  39.             }
  40.             else{
  41.                 prev = array[i][j - 1];
  42.                 next = array[i][j + 1];
  43.                 if (next == 0 && prev == 0){
  44.                     return array[i][j];
  45.                 }
  46.             }
  47.            
  48.         }
  49.     }
  50.     return 0;
  51. }
  52.  
  53. void fillTheArray(int array[][N], size_t rows){
  54.     for (size_t i = 0; i < M; i++)
  55.     {
  56.         for (size_t j = 0; j < N; j++){
  57.             array[i][j] = rand() % 5;
  58.  
  59.         }
  60.     }
  61. }
  62. //принтирам масив
  63. void printTheArray(int array[][N], size_t rows){
  64.     cout << "Оригиналната матрица е това : " << endl;
  65.  
  66.     for (size_t i = 0; i < M; i++)
  67.     {
  68.         for (size_t j = 0; j < N; j++){
  69.             cout << array[i][j] << "\t";
  70.         }
  71.         cout << endl;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement