哪位学过c和c++的高手能把小弟我这个c语言的程序改成c++的

哪位学过c和c++的高手能把我这个c语言的程序改成c++的
本人只学过c++,可是看数据结构c语言版的有许多地方不明白
这个关于图的问题关于输出语句中的许多地方不明白,高手能否帮我把他改成c++的,谢谢了。
#include   "stdio.h "

#define   MAXE   100                                           /*定义最大空间100*/
struct   edges                                                  
{
int   bv;
int   tv;
int   w;
};
typedef   struct   edges   edgeset;
int   seeks(int   set[],int   v)                       /*定义一个整形变量seeks*/
{
int   i;
i=v;
while(set[i]> 0)   i=set[i];
return   i;
}
void   kruskal(edgeset   ge[],int   n,int   e)
{
int   set[MAXE],v1,v2,i,j;
for(i=1;i <n+1;i++)  
set[i]=0;
i=1;
j=1;
while(j <=e&&i <=n-1)
{
v1=seeks(set,ge[j].bv);
v2=seeks(set,ge[j].tv);
if(v1!=v2)
{
printf( "(%d,%d):%d\n ",ge[j].bv,ge[j].tv,ge[j].w);
set[v1]=v2;
i++;
}
j++;
}
}
void   insertsort(edgeset   ge[],int   e)
{
int   i,j;
for(i=2;i <=e;i++)
if(ge[i].w <ge[i-1].w)
{
ge[0]=ge[i];
j=i-1;
while(ge[0].w <ge[j].w)
{
ge[j+1]=ge[j];
j--;
}
ge[j+1]=ge[0];
}
}
void   dijkstra(int   cost[MAXE][MAXE],int   dist[MAXE],int   path[MAXE],int   s[MAXE],int   n,int   v0)                           /*定义函数dijkstra*/
{
int   u,vnum,w,wm;
for(w=1;w <=n;w++)
{
dist[w]=cost[v0][w];
if(cost[v0][w] <32767)
path[w]=v0;
}
vnum=1;
while(vnum <=n-1)
{
wm=32767;
u=v0;
for(w=1;w <=n;w++)
if(s[w]==0&&dist[w] <wm)
{
u=w;
wm=dist[w];
}
s[u]=1;
vnum++;
for(w=1;w <=n;w++)
if(s[w]==0&&dist[u]+cost[u][w] <dist[w]&&cost[u][w]!=32767)
{
dist[w]=dist[u]+cost[u][w];
path[w]=u;
}
}
}
void   printpath1(int   dist[],int   path[],int   s[],int   n,int   v0)       //定义函数printpaht1
{
int   i,k;
for(i=1;i <=n;i++)
if(s[i]==1)
{
k=i;
while(k!=v0)
{
printf( "%d <- ",k);
k=path[k];
}
printf( "%d:%d\n ",k,dist[i]);
}
else
printf( "%d <-%d:32767\n ",i,v0);
}
void   printpath2(int   dist[],int   path[],int   v0,int   v1)                     //定义函数printpath2
{
int   k;
k=v1;
while(k!=v0)
        {
printf( "%d <- ",k);
k=path[k];
        }
printf( "%d:%d\n ",k,dist[v1]);
}
void   main()
{
edgeset   ge[MAXE];
int   cost[MAXE][MAXE],dist[MAXE],path[MAXE],s[MAXE],a,n,e,i,j,k,v0,v1;
printf( "input   the   number   of   point: ");
scanf( "%d ",&n);
printf( "input   the   number   of   edges: ");