Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- unsigned counter(int matrix[6][6], unsigned num)
- {
- unsigned counter = 0;
- if (num < 10)
- {
- for (size_t y = 0; y < 6; y++)
- {
- for (size_t x = 0; x < 6; x++)
- {
- if (num == matrix[y][x])
- {
- counter++;
- }
- }
- }
- }
- else
- {
- size_t numLength = 1;
- for (int n = num / 10; n; n /= 10) numLength++;
- for (size_t y = 0; y < 6; y++)
- {
- for (size_t x = 0; x < 6; x++)
- {
- if (6 - x >= numLength)
- {
- unsigned length = 0;
- for (int n = num; n != 0; n /= 10)
- {
- if (n % 10 == matrix[y][x + length] && ++length == numLength) counter++;
- }
- }
- if (x + 1 >= numLength)
- {
- unsigned length = 0;
- for (int n = num; n != 0; n /= 10)
- {
- if (n % 10 == matrix[y][x - length] && ++length == numLength) counter++;
- }
- }
- if (6 - y >= numLength)
- {
- unsigned length = 0;
- for (int n = num; n != 0; n /= 10)
- {
- if (n % 10 == matrix[y + length][x] && ++length == numLength) counter++;
- }
- }
- if (y + 1 >= numLength)
- {
- unsigned length = 0;
- for (int n = num; n != 0; n /= 10)
- {
- if (n % 10 == matrix[y - length][x] && ++length == numLength) counter++;
- }
- }
- }
- }
- }
- return counter;
- }
- int main()
- {
- int matrix[6][6] =
- { 2,4,3,6,8,9,
- 4,5,4,7,0,1,
- 1,4,5,6,7,8,
- 5,0,8,9,8,6,
- 3,2,4,6,8,0,
- 2,4,6,7,9,0 };
- int counted = counter(matrix, 80);
- std::cout << counted << std::endl;
- int x;
- std::cin >> x;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement