roohollahnoori
چهارشنبه 25 شهریور 1388, 09:08 صبح
لطفا بگین اشکال برنامه من چیه ؟ ازvectorوusing space std اشکال میگیره
#include<iostream>
#include <vector>
using namespace std;
//****************
void floyd(float p[4][4],float A[4][4],vector<char> C[4][4])
{int i,j,k;
for(i=0;i<4;i++)
for(j+0;j<4;j++)
{A[i][j]=p[i][j];
C[i][j].push_back('N');
}
//floyd base
for (k=0;k<4;k++)
for(i+0;i<4;i++)
for(j=0;j<4;j++)
if((A[i][k]+A[k][j]) < A[i][j])
{ A[i][j]=A[i][k]+ A[k][j];
C[i][j].push-back(k+'0');
}
//display result table
cout<<"\n\nfloyd result;\n";
cout<<"\npath table values:\n\n";
for(i=0;i<4;i++)
{cout<<"\t";
for(j=0;j<4;j++)
if(A[i][j]==std::numeric_limits<floyd>::max())
cout<<"m";
else
cout<<A[i][j]<<" ";
cout<<endl;
}
cout<<"\nall paths:\n";
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{cout<<"\nfrom"<<i<<"to"<<j<<":"<<i;
for(k=0;k<C[i][j].size();k++)
if(C[i][j][k]!='N')
cout<<","<<cC[i][j][k];
cout<<","<<j;
}
cout<<endl;
}
}
//************
int main()
{int i,j,k;
float p[4][4],A[4][4];
vector<char>C[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{p[i][j]=0;
if(i!=j)
p[i][j]=std::numeric_limits<float>::max();
}
p[0][1]=5;
p[1][0]=50;
p[1][2]=15;
p[1][3]=5;
p[2][0]=30;
p[2][3]=15;
p[3][0]=15;
p[3][2]=5;
cout<<"Gragh values:\n\n" ;
for(i=0;i<4;i++)
{cout<<'\t';
for(j=0;j<4;j++)
if(p[i][j]==std::numeric_limits<float>::max())
cout<<"m";
else
cout<<p[i][j]<<'';
cout<<endl;
}
floyd(p,A,C);
system("pause");
return 0;
}
#include<iostream>
#include <vector>
using namespace std;
//****************
void floyd(float p[4][4],float A[4][4],vector<char> C[4][4])
{int i,j,k;
for(i=0;i<4;i++)
for(j+0;j<4;j++)
{A[i][j]=p[i][j];
C[i][j].push_back('N');
}
//floyd base
for (k=0;k<4;k++)
for(i+0;i<4;i++)
for(j=0;j<4;j++)
if((A[i][k]+A[k][j]) < A[i][j])
{ A[i][j]=A[i][k]+ A[k][j];
C[i][j].push-back(k+'0');
}
//display result table
cout<<"\n\nfloyd result;\n";
cout<<"\npath table values:\n\n";
for(i=0;i<4;i++)
{cout<<"\t";
for(j=0;j<4;j++)
if(A[i][j]==std::numeric_limits<floyd>::max())
cout<<"m";
else
cout<<A[i][j]<<" ";
cout<<endl;
}
cout<<"\nall paths:\n";
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{cout<<"\nfrom"<<i<<"to"<<j<<":"<<i;
for(k=0;k<C[i][j].size();k++)
if(C[i][j][k]!='N')
cout<<","<<cC[i][j][k];
cout<<","<<j;
}
cout<<endl;
}
}
//************
int main()
{int i,j,k;
float p[4][4],A[4][4];
vector<char>C[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{p[i][j]=0;
if(i!=j)
p[i][j]=std::numeric_limits<float>::max();
}
p[0][1]=5;
p[1][0]=50;
p[1][2]=15;
p[1][3]=5;
p[2][0]=30;
p[2][3]=15;
p[3][0]=15;
p[3][2]=5;
cout<<"Gragh values:\n\n" ;
for(i=0;i<4;i++)
{cout<<'\t';
for(j=0;j<4;j++)
if(p[i][j]==std::numeric_limits<float>::max())
cout<<"m";
else
cout<<p[i][j]<<'';
cout<<endl;
}
floyd(p,A,C);
system("pause");
return 0;
}