Orar semigroup #2

Orar semigroup #2

11/17

Sa se verifice daca 2 puncte dintr-o fotografie fac parte din acelasi obiect.

#include<fstream>
#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;
}
Fisier
4 4
1 0 1 1
0 0 0 1
1 1 0 1
0 0 1 0
3 1
1 4
Sa se verifice daca un obiect de culoarea c1 este vecin cu un obiect de culoarea c2. Mesaj: DA/NU
#include<fstream>
#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";
}
Fisier
4 5
1 2  2 2 4
5 10 2 4 4
5 5  5 4 6
9 9  9 9 2
1 6

joi, 17 noiembrie 2011 by DlMuresan
Categories: | Leave a comment

Leave a Reply