Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int CheckZlavSize(int arr[][9], int size);
- void main()
- {
- int i, j;
- int maxanaf = 0;
- int arr1[9][9];
- int arr2[9][9];
- //this loolala put random numbers
- for (i = 0; i <= 8; i++)
- {
- for (j = 0; j <= 8; j++)
- {
- arr1[i][j] = 1;
- }
- }
- //print arr
- for (i = 0; i <= 8; i++)
- {
- for (j = 0; j <= 8; j++)
- {
- cout << arr1[i][j] << " ";
- }
- cout << endl;
- }
- maxanaf = CheckZlavSize(arr1, 9);
- cout <<endl<< maxanaf << endl;
- system("pause");
- }
- int CheckZlavSize(int arr[][9], int size)
- {
- int i, j, centeri = 0, centerj = 0;
- int maxcounter = 0;
- int counter1 = 0;
- int Uparr[9][9];
- int downarr[9][9];
- int leftarr[9][9];
- int rightarr[9][9];
- //check the upper + left
- for (i = 0; i < size - 1; i++)
- {
- for (j = 0; j < size - 1; j++)
- {
- if (arr[i][j] == 0) //אם יש אפס זה ישר ישים אפס
- {
- Uparr[i][j] = 0;
- }
- else
- if (i == 0) // אם זה שורה ראשונה וכבר בדקנו שזה לא אפס אז זה יכניס 1
- {
- Uparr[i][j] = 1;
- }
- else
- Uparr[i][j] = 1 + Uparr[i - 1][j]; //פה המקום הוא בוודאות אחד אז אתה אומר לו לשים 1 ומה שמעליו
- }
- }
- //check the down
- for (i = size - 1; i >= 0; i--)
- {
- for (j = size - 1; j >= 0; j--)
- {
- if (arr[i][j] == 0) //אם יש שם אפס אז מכניס אפס
- {
- downarr[i][j] = 0;
- }
- else
- if (i == size - 1) // אם אנחנו בשורה האחרונה אז הוא שם אחד כי בדקנו כבר שזה לא אפס
- {
- downarr[i][j] = 1;
- }
- else
- downarr[i][j] = 1 + downarr[i + 1][j]; //פה המקום הוא בוודאות אחד אז אתה אומר לו לשים 1 ומה שמתחתיו
- }
- }
- //check the left
- for (i = 0; i < size - 1; i++)
- {
- for (j = 0; j < size - 1; j++)
- {
- if (arr[i][j] == 0) // אם יש אפס אז תכניס אפס
- {
- leftarr[i][j] = 0;
- }
- else
- if (j == 0) // אם זה העמודה הראשונה וכבר בוודאות זה לא אפס אז תכניס 1
- {
- leftarr[i][j] = 1;
- }
- else
- leftarr[i][j] = 1 + leftarr[i][j - 1]; //פה המקום הוא בוודאות אחד אז אתה אומר לו לשים 1 ומה בשמאלו
- }
- }
- //check the right
- for (i = size - 1; i >= 0; i--)
- {
- for (j = size - 1; j >= 0; j--)
- {
- if (arr[i][j] == 0) //אם יש שם אפס מכניס אפס
- {
- rightarr[i][j] = 0;
- }
- else
- if (j == size - 1) // אם אני בשורה האחרונה אז תכניס אחד כי בדקנו שזה לא אפס
- {
- rightarr[i][j] = 1;
- }
- else
- rightarr[i][j] = 1 + rightarr[i][j + 1]; //פה המקום הוא בוודאות אחד אז אתה אומר לו לשים 1 ומה בימינו
- }
- }
- int row = -1;
- int amoada = -1;
- int finamat[9][9];
- int maxmeshutaf = size + 1;
- int maxmaxmeshutaf = 0;
- for (i = 0; i < size - 1; i++)
- {
- for (j = 0; j < size - 1; j++)
- {
- if (Uparr[i][j] <= 1 || leftarr[i][j] <= 1 || rightarr[i][j] <= 1 || downarr[i][j] <= 1)
- {
- finamat[i][j] == 0;
- }
- else
- {
- if (Uparr[i][j] <= maxmeshutaf)
- {
- maxmeshutaf = Uparr[i][j];
- }
- if (downarr[i][j] <= maxmeshutaf)
- {
- maxmeshutaf = downarr[i][j];
- }
- if (leftarr[i][j] <= maxmeshutaf)
- {
- maxmeshutaf = leftarr[i][j];
- }
- if (rightarr[i][j] <= maxmeshutaf)
- {
- maxmeshutaf = rightarr[i][j];
- }
- if (maxmeshutaf < size + 1)
- {
- finamat[i][j] = maxmeshutaf;
- if (maxmeshutaf > maxmaxmeshutaf)
- {
- maxmaxmeshutaf = maxmeshutaf;
- row = i;
- amoada = j;
- }
- }
- }
- }
- }
- if (row > -1 && amoada > -1)
- {
- cout << "The position of the center [" << row << "] " << "[" << amoada << "]";
- }
- return maxmaxmeshutaf*2 -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement