Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- srand(time(NULL)); //nahodnost...
- int matrixS;
- int matrixR;
- printf("Enter the matrix dimensions... eg. 10 10\n");
- scanf("%d %d", &matrixR, &matrixS); //naceteni rozmeru...
- int matrix[matrixR][matrixS]; //deklarace velky uzivatelsky definovany matice...
- int submatrix[3][3]; //meh
- for(int i = 0; i < matrixR; ++i) //generovani hlavni matice
- {
- for(int j = 0; j < matrixS; ++j)
- {
- //nahodne cislo...
- int r = rand() % 3 + 1;
- //upraveni pravdepodobnosti
- if(r < 3) // 2/3 pravdepodobnost
- {
- matrix[i][j] = 0;
- }
- else // 1/3 pravdepodobnost
- {
- matrix[i][j] = 1;
- }
- }
- }
- for(int i = 0; i < 3; ++i) //generovani submatice
- {
- for(int j = 0; j < 3; ++j)
- {
- //nahodne cislo...
- int r = rand() % 3 + 1;
- //upraveni pravdepodobnosti
- if(r < 3) // 2/3 pravdepodobnost
- {
- submatrix[i][j] = 0;
- }
- else // 1/3 pravdepodobnost
- {
- submatrix[i][j] = 1;
- }
- }
- }
- printf("Hlavni matice \n");
- for(int i = 0; i < matrixR; ++i) //vypis hlavni matice
- {
- for(int j = 0; j < matrixS; ++j)
- {
- if(matrix[i][j] == 0) // 2/3 pravdepodobnost
- {
- printf(".");
- }
- else // 1/3 pravdepodobnost
- {
- printf("X");
- }
- }
- printf("\n");
- }
- printf("Submatice \n");
- for(int i = 0; i < 3; ++i) //vypis submatice
- {
- for(int j = 0; j < 3; ++j)
- {
- if(submatrix[i][j] == 0)
- {
- printf(".");
- }
- else
- {
- printf("X");
- }
- }
- printf("\n");
- }
- int stejnych = 0;
- for(int i = 0; i < matrixR; ++i)
- {
- for(int j = 0; j < matrixS; ++j)
- {
- for(int k = 0; k < 3; ++k)
- {
- for(int l = 0; l < 3; ++l)
- {
- if(matrix[i+k][j+l] == submatrix[k][l] && ((i+k) <= matrixR) && ((j+l) <= matrixS))
- {
- //chyba je v tom, ze ... == .X.
- //muze to bejt obsahem submatice (zkontrolovat)...
- //muze to bejt touhle podminkou
- //vetsinou to najde 9 shod, ale realne je jeich min (8)
- ++stejnych;
- }
- else
- {
- stejnych = 0;
- break; //tady by mozna melo smysl to goto...
- }
- if(9 == stejnych)
- {
- printf("9 Matice obsahuje submatici na [%d;%d]\n", i+1, j+1);
- }
- }
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement