Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Да се напише програма која вчитува матрица со димензии MxN (макс. 100x100). На почетокот се внесуваат димензиите на матрицата, а потоа и елементите на матрицата кои се само вредностите 1 и 0. Програмата треба да изброи и отпечати на СИ во колку од редиците и колоните има барем 3 последователни елементи со вредност 1.
- Пример:
- 1 1 1 0
- 1 0 1 1
- 1 0 0 1
- 1 ред + 1 колона = 2
- ВЛЕЗ:
- 3 8
- 0 0 1 1 1 0 0 0
- 1 1 1 0 1 1 1 0
- 0 1 1 1 1 0 0 1
- ИЗЛЕЗ:
- 5
- */
- #include <stdio.h>
- #define MAX 100
- int main() {
- int br_elementi_redica = 0,br_elementi_kolona = 0;
- int linii = 0;
- int n,m;
- scanf("%d%d", &n,&m);
- int a[MAX][MAX];
- for(int i =0;i<n;i++){
- for(int j =0;j<m;j++){
- scanf("%d", &a[i][j]);
- }
- }
- for(int i =0;i<n;i++){
- br_elementi_redica=0;
- int flag = 1;
- for(int j =0;j<m;j++){
- if(a[i][j] == 1 && flag == 1){
- br_elementi_redica++;
- }if(a[i][j] == 0){ //koga ke naidesh na 0, resetiraj gi brojot na elementi
- br_elementi_redica = 0;
- }
- if(br_elementi_redica == 3){
- linii++;
- br_elementi_redica = 0;
- flag = 0; //flag se stava na 0, za da se prekine dodavanje na
- // brojot na elementi za taa redica
- }
- }
- }
- for(int j =0;j<m;j++){
- br_elementi_kolona = 0;
- int flag = 1;
- for(int i = 0;i<n;i++){
- if(a[i][j] == 1 && flag == 1){
- br_elementi_kolona++;
- }if(a[i][j] == 0){ //koga ke naidesh na 0, resetiraj gi brojot na elementi
- br_elementi_kolona = 0;
- }if(br_elementi_kolona == 3){
- linii++;
- br_elementi_kolona = 0;
- flag = 0; //flag se stava na 0, za da se prekine dodavanje na
- // brojot na elementi za taa kolona
- }
- }
- }
- printf("%d", linii);
- return 0;
- }
Add Comment
Please, Sign In to add comment