duplicityyy

[C] - Линии

Dec 23rd, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. /*
  2. Да се напише програма која вчитува матрица со димензии MxN (макс. 100x100). На почетокот се внесуваат димензиите на матрицата, а потоа и елементите на матрицата кои се само вредностите 1 и 0. Програмата треба да изброи и отпечати на СИ во колку од редиците и колоните има барем 3 последователни елементи со вредност 1.
  3.  
  4. Пример:
  5.  
  6. 1 1 1 0
  7. 1 0 1 1
  8. 1 0 0 1
  9.  
  10. 1 ред + 1 колона = 2
  11.  
  12. ВЛЕЗ:
  13. 3 8
  14. 0 0 1 1 1 0 0 0
  15. 1 1 1 0 1 1 1 0
  16. 0 1 1 1 1 0 0 1
  17.  
  18. ИЗЛЕЗ:
  19. 5
  20. */
  21.  
  22. #include <stdio.h>
  23. #define MAX 100
  24. int main() {
  25.     int br_elementi_redica = 0,br_elementi_kolona = 0;
  26.     int linii = 0;
  27.     int n,m;
  28.     scanf("%d%d", &n,&m);
  29.     int a[MAX][MAX];
  30.     for(int i =0;i<n;i++){
  31.         for(int j =0;j<m;j++){
  32.             scanf("%d", &a[i][j]);
  33.         }
  34.     }
  35.  
  36.     for(int i =0;i<n;i++){
  37.         br_elementi_redica=0;
  38.         int flag = 1;
  39.         for(int j =0;j<m;j++){
  40.             if(a[i][j] == 1 && flag == 1){
  41.                 br_elementi_redica++;
  42.             }if(a[i][j] == 0){          //koga ke naidesh na 0, resetiraj gi brojot na elementi
  43.                 br_elementi_redica = 0;
  44.             }
  45.             if(br_elementi_redica == 3){
  46.                 linii++;
  47.                 br_elementi_redica = 0;
  48.                 flag = 0;               //flag se stava na 0, za da se prekine dodavanje na
  49.                                         // brojot na elementi za taa redica
  50.             }
  51.         }
  52.     }
  53.  
  54.     for(int j =0;j<m;j++){
  55.         br_elementi_kolona = 0;
  56.         int flag = 1;
  57.         for(int i = 0;i<n;i++){
  58.             if(a[i][j] == 1 && flag == 1){
  59.                 br_elementi_kolona++;
  60.             }if(a[i][j] == 0){          //koga ke naidesh na 0, resetiraj gi brojot na elementi
  61.                 br_elementi_kolona = 0;
  62.             }if(br_elementi_kolona == 3){
  63.                 linii++;
  64.                 br_elementi_kolona = 0;
  65.                 flag = 0;               //flag se stava na 0, za da se prekine dodavanje na
  66.                                         // brojot na elementi za taa kolona
  67.             }
  68.         }
  69.     }
  70.  
  71.     printf("%d", linii);
  72.  
  73.     return 0;
  74. }
Add Comment
Please, Sign In to add comment