永发信息网

麻烦你看看程序对不对~

答案:1  悬赏:40  手机版
解决时间 2021-05-02 08:30

你好~那天你帮我把一个C++程序改成了C#的~~我自己按照你说的改了~~麻烦你帮我看看对不对~~还有些地方我不会改~

const int MVNUM 100;
const int Maxint 32767;
using System.IO;
using System.IO;
bool XXX ;
Class MGraph
{
    string[] vexs = new string[MVNUM];
    int[] arcs = new int[MVNUM,MVNUM];
    int[] D1 = new int[MVNUM];
    int[] D = new int[MVNUM];
    int[] p1 = new int[MVNUM];
    }
    void createMGaph(MGraph G,int n,int e)
    {
        int i,j,k=1,w;
        for(i=1;i<=n;i++)
        G.vexs=i.Tostring();

        for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
       G.arcs[i,j]=Maxint;

      Console.WriteLine(" 输入"+e"条边的顶点终点和权值(以空格隔开!)");
        do
        {
          i=Convert.ToInt32(Console.ReadLine());j=Convert.ToInt32(Console.ReadLine());w=Convert.ToInt32(Console.ReadLine());
            if(i>n||j>n)
           Console.WriteLine("错误,重新输入\n");
            else
            {
                G,arcs[i,j]=w;
                k++;
                }
            }
            while(k<=e);
           Console.WriteLine("有向图的存储结构建立完毕!\n");
}
         void dispmgraph(MGraph G,int n,int e)
            int i,j;
            for(i=1;i<=n;i++)
            for(i=1;i<=n;i++)
            {
                for(j=1;j<=n;j++)
               if(G.arcs[i,j]==Maxint)
                {
                   Console.WriteLine("        "+"∞");               
                    }
                    else
                    arcs[i][j];Console.WriteLine("        "+G.arcs[i,j].Tostring(););
                }
            }
      void Floyd(MGraph *G,int n)
            {
                int i,j,k;
                for(i=1;i<=n;i++)
                for(j=1;j<=n;j++)
                {
                    if(G.arcs[i,j]!==Maxint)
                    p[i][j]=j;
                    else
                    p[i][j]=0;
                    D[i][j]=G.arcs[i,j];
                    }
                    for(k=1;k<=n;k++)
                    {
                        for(i=1;i<=n;i++)
                        for(j=1;j<=n;j++)
                        {
                            if(D[i][k]+D[k][j]<D[i][j])
                            {
                                D[i][j]=D[i][k]+D[k][j];
                                p[i][j]=k;
                                }
                            }
                        }
                }

    static void Main(string[] args)
  {
        MGraph  G = new MGraph();
        int n,e,v,w,k;
        int m;
      string x;
         Console.WriteLine("请先建立一个有向图:\n");
        Console.WriteLine("输入图中顶点数和边数 n,e(以空格隔开!):");
        n=Convert.ToInt32(Console.ReadLine());e=Convert.ToInt32(Console.ReadLine());
        createMGaph(G,n,e);
                do
                {
                   Console.WriteLine("1.求图确定两点间的最短路径!\n");
                Console.WriteLine("2.退出!\n");
                Console.WriteLine("请输入你的选择:");
                m=Console.ReadLine();
                switch(m)
                {
                    case  1:
                    {
                        do
                        {
                             Console.WriteLine("输入您要查找的起点和终点(输入0,0结束):v,w:");
                           v=Convert.ToInt32(Console.ReadLine());w=Convert.ToInt32(Console.ReadLine());
        Floyd(G,n);
        k=p[v][w];
        if(k==0)
       Console.WriteLine("顶点%d到%d无路径!\n",v,w);
        else
        {
            Console.WriteLine("从顶点%d到%d的最短路径为:%d",v,w,v);
            while(k!=w)
           {
               Console.WriteLine("->%d",k);
                k=p[k][w];
               }
                  Console.WriteLine("->%d",w);
                Console.WriteLine("路径长度:%d\n",D[v][w]);
            }
                        }
            while(v!=0&&w!=0);
            break;
                            }

                            case   2: Console.WriteLine("求最短路径结束!");break;
                        }
                    }
                    while(m!=2);
                    }


 

最佳答案

首先``能运行没``有错误没?~``如果有错误``把错误截图``发上来看看`````


bool XXX ;  XXX是命名```请给一个``有意义的命名``额`````但从程序来说``没使用到``应该可以删了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
买一部数码相机
有谁知道哪样电脑好?
西安碳市街怎么做车
饮料县级代理利润有多大呢?
QQ飞车那个更新心情获百万QB的活动在哪里进啊
格力空调1.5P多少钱?
为什么当依赖变成习惯,却再也舍不得离开?
怎样讨女孩欢心
我新装的Win7,原来盘里的游戏都打不开了?
湖州市新溪新利丝织厂地址有知道的么?有点事
你爱他,但他爱别人你会怎么办
征集浪漫情节
让大家看看我家的显卡配置怎么样,我不懂
手机帝能帮我设置诺基亚6300的证书呀…我的只
巴厘岛和甲米哪个好玩,三亚的亚龙湾和巴厘岛
推荐资讯
三围应该怎么量?
哪位4级黄钻能帮我开通下牧场??~3Q啦~
犬夜叉完结篇什么时候放?
英雄无敌4 战术的效果会不会叠加?
安利是干什么的,总经理助理一般做什么事情?
谁有TSC TTP-342标签机的打印软件???
SM公司在哪
炫舞舞团升级的具体要求?
500mL激浪一瓶卖多少钱,我这儿一瓶600mL可乐
请问C1驾照驾龄一年能增驾B2吗 怎么办理??
我最近在相谁专门提给我的好友的?
信阳市烟草公司淮滨县分公司地址有知道的么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?