| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 985 人关注过本帖
标题:邻接数组存储图,帮我看看哪儿出错了呢?
取消只看楼主 加入收藏
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
结帖率:26.67%
收藏
已结贴  问题点数:20 回复次数:6 
邻接数组存储图,帮我看看哪儿出错了呢?
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
int matrix[6][6];
void creategraph(int *node,int num)
{
    int from;
    int to;
    int i;
    for(i=0;i<num;i++)
    {
        from=node[i*2];
        to=node[i*2+1];
        matrix[from][to]=1;
    }
}
void main()
{
    int node[12][2]={{1,2},{2,1},
                    {1,3},{3,1},
                    {2,3},{3,2},
                    {2,4},{4,2},
                    {3,5},{5,3},
                    {4,5},{5,4}};
    int i,j;
    for(i=1;i<=5;i++)
        for(j=1;j<=5;j++)
            matrix[i][j]=0;
    creategraph(node,12);
    printf("the graph is\n");
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
            printf("%d",matrix[i][j]);
        printf("\n");
    }
    system("pause");
}
搜索更多相关主题的帖子: matrix void include 
2012-02-03 18:25
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 10楼 easyknow
原来程序中from=node[i*2]
           to=node[i*2+1]我不是很理解,这是什么意思呢?它的意图是什么呢?
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
int matrix[6][6];

void creategraph(int **node,int num)
{
    int from;
    int to;
    int i;
    for(i=0;i<num;i++)
    {
        from=node[i][0];
        to=node[i][1];
        matrix[from][to]=1;
    }
}

void main ( void )
{
    int node[12][2]={
        {1,2},{2,1},
        {1,3},{3,1},
        {2,3},{3,2},
        {2,4},{4,2},
        {3,5},{5,3},
        {4,5},{5,4}};
        int i,j;
        for(i=1;i<=5;i++)
            for(j=1;j<=5;j++)
                matrix[i][j]=0;
        creategraph((int **)node,12);
        printf("the graph is\n");
        for(i=1;i<=5;i++)
        {
            for(j=1;j<=5;j++)
                printf("%d",matrix[i][j]);
            printf("\n");
        }
        system("pause");
}
我把程序改成这样的错误在哪儿呢?
2012-02-04 16:28
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 12楼 爱德华
恩呢,十分感谢
2012-02-04 16:29
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 3楼 embed_xuel
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
int matrix[6][6];

void creategraph(int **node,int num)
{
    int from;
    int to;
    int i;
    for(i=0;i<num;i++)
    {
        from=node[i][0];
        to=node[i][1];
        matrix[from][to]=1;
    }
}

void main ( void )
{
    int node[12][2]={
        {1,2},{2,1},
        {1,3},{3,1},
        {2,3},{3,2},
        {2,4},{4,2},
        {3,5},{5,3},
        {4,5},{5,4}};
        int i,j;
        for(i=1;i<=5;i++)
            for(j=1;j<=5;j++)
                matrix[i][j]=0;
        creategraph((int **)node,12);
        printf("the graph is\n");
        for(i=1;i<=5;i++)
        {
            for(j=1;j<=5;j++)
                printf("%d",matrix[i][j]);
            printf("\n");
        }
        system("pause");
}
我把程序改成这样子的,这样也是不对的,我想知道不对在哪儿呢?
2012-02-04 16:31
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 8楼 TonyDeng
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
int matrix[6][6];

void creategraph(int **node,int num)
{
    int from;
    int to;
    int i;
    for(i=0;i<num;i++)
    {
        from=node[i][0];
        to=node[i][1];
        matrix[from][to]=1;
    }
}

void main ( void )
{
    int node[12][2]={
        {1,2},{2,1},
        {1,3},{3,1},
        {2,3},{3,2},
        {2,4},{4,2},
        {3,5},{5,3},
        {4,5},{5,4}};
        int i,j;
        for(i=1;i<=5;i++)
            for(j=1;j<=5;j++)
                matrix[i][j]=0;
        creategraph((int **)node,12);
        printf("the graph is\n");
        for(i=1;i<=5;i++)
        {
            for(j=1;j<=5;j++)
                printf("%d",matrix[i][j]);
            printf("\n");
        }
        system("pause");
}
我把程序这样改了,但是还是不对的,能告诉我错在哪儿了么?
2012-02-04 16:31
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 10楼 easyknow
这几句话是不是可以不写的呢?for(i=1;i<=5;i++)
            for(j=1;j<=5;j++)
                matrix[i][j]=0;
2012-02-04 16:50
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 18楼 爱德华
能具体给我解释下么,谢谢,不太明白的。
2012-02-05 15:47
快速回复:邻接数组存储图,帮我看看哪儿出错了呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018583 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved