|
| shortest path algorithm by shridatt zambodker | #include<stdio.h>
main()
{
int n,i,j,dest,min=0,colmnvalj,min1;
int k,o[10][10],a[12],r[12],temp;
printf("\n enter no of nodes");
scanf("%d",&n);
printf("\n enter the original matrix");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf("%d";&o[i][j]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf(" %d",o[i][j]);
printf(" \n");
}
printf("\nEnter the destination node.");
scanf("%d",&dest);
printf("\nThe algothm array is : ");
for(i=0;i<=n;i++)
{
if(i==0)
{
a[i]=0;
}
else
{
a[i]=99;
}
printf("\nThe reserved array is : ");
for(i=0;i<=n;i++)
{
if(i==0)
{
r[i]=1;
}
else
{
r[i]=0;
}
printf("\n %d",r[i]);
}
if(dest==0)
{
printf("\nThe destination you entered and the source is same. Hence
program will exit.tata!");
exit();
}
else
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(r[dest]!=1)
{
if(r[j]!=1)
{
if((o[i][j])>=0)
{
temp=o[i][j]+min;
if(a[j]>temp)
a[j]=temp;
printf("\n i=%d j=%d a[j]=%d ",i,j,a[j]); 12,2-9 28%
}
}
}
}
min1=100;
for(k=0;k<n;k++)
{
if(r[k]!=1)
{
if(a[k]<min1)
{
min1=a[k];
colmnvalj=k;
}
}
}
r[colmnvalj]=1;
i=colmnvalj-1;
min=min1;
printf("\n The minimum value is: %d columnvalj=%d dest=%d ",min,colmnvalj,dest); 34,7 84%
if(r[dest]==1)
i=n;
}
}
} | Views 4
Rating 0
Language C
Category Miscellaneous
Compiler Turbo C/C++
OS Any
Last Modified 13th Jan 10 04:54:17 AM
|
|
|
|
|
|