diff options
Diffstat (limited to '37/CH8/EX8.5')
-rwxr-xr-x | 37/CH8/EX8.5/s5.sci | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/37/CH8/EX8.5/s5.sci b/37/CH8/EX8.5/s5.sci index 04714a975..668d8e6a0 100755 --- a/37/CH8/EX8.5/s5.sci +++ b/37/CH8/EX8.5/s5.sci @@ -1,29 +1,29 @@ -//Warshall's Algorithm
-funcprot(0)
-function[path]=transclose(adj,n)
- for i=1:n
- for j=1:n
- path((i-1)*n+j)=adj((i-1)*n+j);
- end
- end
- for k=1:n
- for i=1:n
- if(path((i-1)*n+k)==1)
- for j=1:n
- path((i-1)*n+j)=path((i-1)*n+j)|path((k-1)*n+j);
- end
- end
- end
- end
- printf("Transitive closure for the given graph is:\n");
- for i=1:n
- printf("For vertex %d \n",i);
- for j=1:n
- printf("%d %d is %d\n",i,j,path((i-1)*n+j));
- end
- end
-endfunction
-//Calling Routine:
-n=3;
-adj=[0 1 0 0 0 1 0 0 0]
-path=Tranclose(adj,n)
\ No newline at end of file +//Warshall's Algorithm +funcprot(0) +function[path]=transclose(adj,n) + for i=1:n + for j=1:n + path((i-1)*n+j)=adj((i-1)*n+j); + end + end + for k=1:n + for i=1:n + if(path((i-1)*n+k)==1) + for j=1:n + path((i-1)*n+j)=path((i-1)*n+j)|path((k-1)*n+j); + end + end + end + end + printf("Transitive closure for the given graph is:\n"); + for i=1:n + printf("For vertex %d \n",i); + for j=1:n + printf("%d %d is %d\n",i,j,path((i-1)*n+j)); + end + end +endfunction +//Calling Routine: +n=3; +adj=[0 1 0 0 0 1 0 0 0] +path=transclose(adj,n)
\ No newline at end of file |