Pagini recente » Cod sursa (job #641347) | Cod sursa (job #3143344) | Cod sursa (job #693533) | Cod sursa (job #2699731) | Cod sursa (job #2532922)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("zona3.in");
ofstream fout("zona3.out");
const int nmax=101;
const int di[]={-1,0,1,0},
dj[]={0,1,0,-1};
int matrice[nmax][nmax],n,m,a[nmax*nmax],zona,rad,M[nmax][nmax];
void citire()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>matrice[i][j];
}
void afisare()
{
for(int i=1;i<=n;i++,cout<<endl)
for(int j=1;j<=m;j++)
cout<<M[i][j]<<' ';
}
int ok(int i, int j)
{
if(i<1 || j<1 || i>n || j>m)
return 0;
return 1;
}
void Fill(int x, int y,int v)
{
a[zona]++;
matrice[x][y]=v;
for(int i=0;i<4;i++)
{
int noul_i=x+di[i];
int noul_j=y+dj[i];
if(ok(noul_i,noul_j) && matrice[noul_i][noul_j]==1)
Fill(noul_i,noul_j,v);
}
}
void rezolvare()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(matrice[i][j]==1)
{
zona++;
Fill(i,j,3);
}
}
}
int main()
{
citire();
rezolvare();
afisare();
}