Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int a[100][100],m;
- //functia asta o sa furnizeze prin i si j pozitia primul element nenul
- int posofNext(int &i,int &j)
- {
- for(i=0;i<m;i++)
- for(j=0;j<m;j++)
- if(a[i][j]==1)
- return 0;
- return -1;//cod eroare
- }
- void etichetare(int i,int j,int eticheta)
- {
- if(a[i][j]==0||a[i][j]==eticheta)
- return;
- a[i][j]=eticheta;
- //etichetam si nodurile invecinate
- etichetare(i+1,j,eticheta);
- etichetare(i-1,j,eticheta);
- etichetare(i,j-1,eticheta);
- etichetare(i,j+1,eticheta);
- }
- int main() {
- cin>>m;
- for(int k=0;k<m;k++)
- for(int l=0;l<m;l++)
- cin>>a[k][l];
- int i,j,eticheta=2;
- while(posofNext(i,j)!=-1)
- {
- etichetare(i,j,eticheta++);
- }
- //afisare
- for(int k=0;k<m;k++){
- for(int l=0;l<m;l++)
- cout<<a[k][l]<<' ';
- cout<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement