Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int c[50][50], D[50], S[50], T[50], n, r, poz, mini, i, j, infinit=99999;
- void drum(int i)
- { if (T[i] !=0) drum(T[i]);
- cout<<i<<’ ‘;}
- int main(){
- \\ Citire matrice costuri
- {for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- {cin>>c[i][j];
- while(c[i][j]!=0&&c[i][j]!=1)
- c[j][i]=c[i][j];
- }
- cout<<”r=”;cin>>r;
- S[r]=1;
- for(i=1;i<=n;i++)
- { D[i]=C[r][i];
- If (i!=r) && (D[i]< infinit)
- T[i]=r;}
- for( i=1;i<=n;i++)
- { mini=infinit;
- for(j=1; j<=n;j++)
- if (S[j]==0)
- if (D[j]<mini)
- { mini=D[j]; poz=j; }
- S[poz]=1;
- for(j=1; j<=n;j++)
- if (S[j]==0)
- if (D[j]> D[poz]+C[poz][j])
- { D[j] = D[poz]+C[poz][j];
- T[j]=poz;}
- }
- for( i=1;i<=n;i++)
- cout<<”de la ”<<r <<”la ”<<i<<” lungimea este ”<<D[i]<<endl;
- cout <<endl;
- for( i=1;i<=n;i++)
- { if (i!=r)
- if(T[i]!=0)
- { drum(i);
- cout<<endl;}
- else
- cout<<”Nu exista drum de la ”<<r<<” la ”<<i<<endl;
- }
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement