Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include<iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5. #define DimMax 50
  6.  
  7. int Dx[4]={-1, 0, 1, 0}, Dy[4]={ 0, 1, 0,-1};
  8.  
  9. int a[DimMax][DimMax], m, n, NrObiecte;
  10.  
  11. void Citire()
  12. {
  13. ifstream fin("foto.in");
  14. fin>>n>>m;
  15. for (int i=1; i<=n; i++)
  16. for (int j=1; j<=m; j++)
  17. fin>>a[i][j];
  18. fin.close();
  19. }
  20. void bordare()
  21. { int i, j;
  22. for(i=0; i<=n+1; i++) a[i][0]=a[i][m+1]=0;
  23. for(j=0; j<=m+1; j++) a[0][j]=a[n+1][j]=0;
  24. }
  25.  
  26. void Sterge_Obiect(int x , int y)
  27. { if (a[x][y])
  28. { a[x][y]=0; //sterg acest element de imagine
  29. //cautarea continua in cele 4 directii posibile
  30. for (int dir=0; dir<4; dir++)
  31. Sterge_Obiect(x+Dx[dir], y+Dy[dir]);}
  32. }
  33.  
  34. int main()
  35. {
  36. Citire();
  37. bordare();
  38. for (int i=1; i<=n; i++)
  39. for (int j=1; j<=m; j++)
  40. if (a[i][j]) //am depistat un obiect
  41. {
  42. NrObiecte++;
  43. Sterge_Obiect(i,j);
  44. }
  45. cout<<"Nr. obiecte = "<<NrObiecte<<endl;
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement