Sa se verifice daca 2 puncte dintr-o fotografie fac parte din acelasi obiect.
#include<fstream>Fisier
#include<iostream>
#include<iomanip>
using namespace std;
int a[100][100],n,m,i,j,is,js,iis,jjs;
void citire()
{ifstream f("date");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f>>is>>js>>iis>>jjs;
}
void afisare()
{for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<setw(3)<<a[i][j];
cout<<endl;
}
}
void fill(int i,int j)
{
if(a[i][j]==1)
{
a[i][j]=2;
fill(i-1,j);
fill(i-1,j+1);
fill(i,j+1);
fill(i+1,j+1);
fill(i+1,j);
fill(i+1,j-1);
fill(i,j-1);
fill(i-1,j-1);
}
}
int main()
{ citire();
fill(is,js);
if(a[is][js]==a[iis][jjs])
cout<<"DA"<<endl;
else cout<<"NU"<<endl;
afisare();
return 0;
}
4 4Sa se verifice daca un obiect de culoarea c1 este vecin cu un obiect de culoarea c2. Mesaj: DA/NU
1 0 1 1
0 0 0 1
1 1 0 1
0 0 1 0
3 1
1 4
#include<fstream>Fisier
#include<iostream>
#include<iomanip>
using namespace std;
int a[100][100],n,m,c1,c2;
int dx[]={-1,0,1,0,-1,1,1,-1},dy[]={0,1,0,-1,1,1,-1,-1};
void citire()
{int i,j;
ifstream f("date");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f>>c1>>c2;
}
int main()
{ int ok=1,i,j,inou,jnou,k;
citire();
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{if(a[i][j]==c1)
{for(k=0;k<8;k++)
{inou=i+dx[k];
jnou=j+dy[k];
if(a[inou][jnou]==c2)
ok=0;
}
}
}
if(ok==0)
cout<<"DA";
else cout<<"NU";
}
4 5
1 2 2 2 4
5 10 2 4 4
5 5 5 4 6
9 9 9 9 2
1 6