Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Grafuri
- [a] neorientate ( NDG )
- [b] orientate ( DG )
- =========================
- NDG
- =========================
- metode de reprezentare
- 1. matrice de adiacenta
- n numarul varfurilor
- (M) nxn unde M(i,j)= | 1 daca exista muchie (i,j)
- | 0 altfel
- in M avem simetrie fata de diagonala principala
- 2. colectie de muchii
- n numarul varfurilor
- m numarul de muchii
- (M) mx2 unde M(i,1) si M(i,2) memoreaza extremitatile muchiei (i,j)
- Conversii ( intre modurile de reprezentare )
- [I] a) ---> b) MACM
- [II] b) --->a) CMMA
- date de intrare :
- 1
- / \
- / \
- 2 ----- 5
- | |
- | |
- 3 -----4
- 5
- 0 1 0 0 1
- 1 0 1 0 1
- 0 1 0 1 0
- 0 0 1 0 1
- 1 0 0 1 0
- 5
- 6
- 1 2
- 1 5
- 2 3
- 2 5
- 3 4
- 4 5
- int n;
- int M[100][100];
- int CM[100][2];
- int m;
- int read_data_MA()
- {
- fstream f;
- f.open("input1.dat",ios::in);
- f>>n;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++) f>>M[i][j];
- }
- int MACM()
- {
- m=0;
- pentru i de la 1 la n executa
- pentru j=i+1 de la i la n executa
- daca M[i][j]=0 atunci executa
- m=m+1;
- CM[m][1]=i;
- CM[m][2]=j;
- }
- int read_data_CM()
- {
- fstream f;
- f.open("input2.dat",ios::in);
- f>>n;
- f>>m;
- for(int i=1;i<=n;i++)
- {
- f>>CM[m][1];
- f>>CM[m][2];
- }
- int CMMA()
- {
- pentru i de la 1 la m executa
- M[CM[[m][1]][CM[[m][2]]=1
- }
- int print_CM()
- {
- }
- int print_MA()
- {
- }
- int main()
- {
- read_data_MA();
- print_CM();
- read_data_CM();
- print_MA();
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement