Advertisement
iuliaa

graf

May 6th, 2020
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct Nod {
  5.     int cheie;
  6.     int info;
  7. } nod;
  8. typedef struct TipArc {
  9.     int linie, coloana;
  10. } Arc;
  11. typedef struct Graf {
  12.     int nr_noduri;
  13.     nod Noduri[20];
  14.     int Arce[20][20]; //matr adiac
  15. } Graf;
  16.  
  17. void init(Graf *g)
  18. {
  19.     g->nr_noduri=0;
  20. }
  21.  
  22. void InserNod(Graf *g, nod n)
  23. {
  24.     int i=g->nr_noduri,j;
  25.     g->Noduri[i]=n;
  26.     g->nr_noduri++;
  27.     g->Noduri[g->nr_noduri] = n;
  28.     for(j = 1; j <= g->nr_noduri; j++)
  29.     {
  30.         g->Arce[i][j] = 0;
  31.         g->Arce[j][i] = 0;
  32.     }
  33. }
  34.  
  35. void InserArc(Graf *g, Arc arc)
  36. {
  37.     g->Arce[arc.linie][arc.coloana] = 1;
  38.     g->Arce[arc.coloana][arc.linie] = 1;
  39. }
  40.  
  41. void af(Graf *g)
  42. {
  43.     int i,j;
  44.     for(i=0;i<g->nr_noduri;i++)
  45.     {
  46.         for(j=0;j<g->nr_noduri;j++)
  47.             printf("%d ",g->Arce[i][j]);
  48.         printf("\n");
  49.     }
  50.  
  51. }
  52. Graf *g;
  53. nod e1,e2,e3;
  54. Arc a1;
  55. int main()
  56. {
  57.     init(g);
  58.  
  59.     e1.cheie=0;
  60.     e1.info=100;
  61.     e2.cheie=1;
  62.     e2.info=101;
  63.     e3.cheie=2;
  64.     e3.info=102;
  65.     InserNod(g,e1);
  66.     InserNod(g,e2);
  67.     InserNod(g,e3);
  68.     a1.coloana=e1.cheie;
  69.     a1.linie=e2.cheie;
  70.  
  71.     InserArc(g, a1);
  72.     printf("Matr adiacenta\n");
  73.     af(g);
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement