Sunteți pe pagina 1din 2

#include <iostream>

using namespace std;

int citireA (int ma[10][10])


{
int d, i,j;
cout<< "Dimensiunea matricii: " ; cin>> d;
for (i=1; i<=d; i++)
for(j=1; j<=d; j++)
{
cout<<"ma["<<i<<"]["<<j<<"]=";
cin>>ma[i][j];
}
return d;
}

void afisareB(int d, int na, int mb[10][20])


{
int i,j;
for(i=1; i<=d; i++)
{
cout<<endl;
for(j=1;j<=na;j++) cout<<mb[i][j]<<" ";
}
}

void A_to_B(int d, int ma[10][10], int mb[10][20], int &na)


{
int i,j, k;
na=0;
for(i=1; i<=d; i++)
for(j=1; j<=d; j++)
if(ma[i][j]==1)
{
na++;
for(k=1; k<=d; k++) mb[k][na]=0;
mb[i][na]=1; mb[j][na]=-1;
}
}

void citireB (int &d, int &na, int mb[10][20])


{
int i,j;
cout<<"Nr.de noduri"; cin>>d;
cout<<"Nr.de arce"; cin>>na;
for(j=1; j<=na; j++)
for(i=1; i<=d; i++)
{
cout<<"mb["<<i<<"]["<<j<<"]=";
cin>>mb[i][j];
}

}
void B_to_A(int d, int na, int mb[10][20], int ma[10][10])
{
int i,j,l,c;
for(i=1;i<=d;i++)
for(j=1;j<=d;j++) ma[i][j]=0;
for(j=1;j<=na;j++)
{
for(i=1;i<=d;i++)
if(mb[i][j])==1) l=i;
else
if(b[i][j]==-1) c=i;
na[l][c]=1;
}
}

int main()
{
int m, n, a[10][10], b[10][20];
n=citireA(a);
A_to_B(n, a, b, m);
afisareB(n ,m , b);

S-ar putea să vă placă și