Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int MinForInf (int , int ) ;
  5. int p (int,int,int,int**) ;
  6. void solve (int , int ** ) ;
  7.  
  8. int MinForInf(int a , int b ){
  9. if (a==-1) return b ;
  10. if (b==-1) return a ;
  11. if (a>b) return b;
  12. else return a;
  13. }
  14.  
  15. int p ( int i , int j , int k , int **array){
  16. if (k>=0)
  17. return MinForInf( p(i,j,k-1,array), ( p(i,k,k-1,array)+p(k,j,k-1,array)) );
  18. else
  19. return array[i][j];
  20.  
  21. }
  22.  
  23.  
  24. void solve (int n , int **array){
  25.  
  26. int i,j,k;
  27. int cost;
  28.  
  29. for (i=0 ; i<=n ; i++){
  30. for (j=0 ; j<i ; j++){
  31.  
  32. cost=p(i,j,n,array);
  33. printf ("form node %d to node %d cost is %d \n " , i,j, cost);
  34.  
  35. }
  36. printf("\n");
  37. }
  38.  
  39. for (i=0 ; i<n ; i++) {
  40. printf("\n");
  41. for (j=0 ;j<=i ; j++)
  42. printf("%d \t " , array[i][j]);
  43. }
  44. }
  45.  
  46.  
  47.  
  48. int main (void) {
  49. int **graph;
  50. int i,j, n ;
  51. printf("Give num of cities\n");
  52. scanf("%d" ,&n );
  53. printf("%d" , n);
  54. n=n-1;
  55. graph=malloc(n*sizeof(int *));
  56. for (i=0 ; i<n ; i++)
  57. graph[i]=malloc(n* sizeof(int ));
  58. for (i=0 ; i<n ; i++){
  59. for (j=0 ; j<=i ; j++)
  60. scanf("%d" , &graph[i][j]);
  61. }
  62. for (i=0 ; i<n ; i++) {
  63. printf("\n");
  64. for (j=0 ;j<=i ; j++)
  65. printf("%d \t " , graph[i][j]);
  66. }
  67. solve (n,graph);
  68. for (i=0 ; i<n ; i++) {
  69. printf("\n");
  70. for (j=0 ;j<=i ; j++)
  71. printf("%d \t " , graph[i][j]);
  72. }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement