| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:C# 从给定的二维数组中怎么存储指定的元素?
只看楼主 加入收藏
gxlove
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2011-6-30
结帖率:60%
收藏
已结贴  问题点数:11 回复次数:2 
C# 从给定的二维数组中怎么存储指定的元素?
int[,] path ={
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     (A){ 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
        { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
        { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
        { 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
        { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1},(B)
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
以上是一个二维数组,用C#语言从path数组中按顺序得到元素值为1的各项下标,然后按顺序存到List中。说白了就是得到元素值为1的路径,有两条路径A到B,和B到A。得到两条路径的方法应该都一样吧。请写一下代码,谢谢!
搜索更多相关主题的帖子: 元素 
2014-06-23 15:57
wjshan0808
Rank: 2
等 级:论坛游民
帖 子:15
专家分:36
注 册:2013-3-6
收藏
得分:11 
是这样的吧?
程序代码:
       int[,] path ={
            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     /*(A)*/{ 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
            { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
            { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
            { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
            { 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
            { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
            { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1},//(B)
            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
            List<string> arrayPath = new List<string>(30);
            //A to B
            for (int i = 1; i < path.GetLength(0) - 2; i++)
            {
                for (int j = 0; j < path.GetLength(1); j++)
                {
                    if (path[i, j] == 1)
                    {
                        arrayPath.Add(i + "," + j);
                    }
                }
            }
            foreach (string item in arrayPath)
            {
                Console.WriteLine(item);
            }
            arrayPath.Clear();
            //B to A
            for (int i = path.GetLength(0) - 2; i > 1; i--)
            {
                for (int j = path.GetLength(1) - 1; j >= 0; j--)
                {
                    if (path[i, j] == 1)
                    {
                        arrayPath.Add(i + "," + j);
                    }
                }
            }
            foreach (string item in arrayPath)
            {
                Console.WriteLine(item);
            }
2014-06-23 17:46
gxlove
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2011-6-30
收藏
得分:0 
回复 2 楼 wjshan0808
谢谢你的回复!你这个不对哦,只是把值为1的所有元素取出来而已(这个很容易),要实现的是从A至B点根据路径取元素,比如:(1,0),(1,1),(1,2),(2,2),(3,2),(4,2),(5,2),(5,3)...path二维数组去掉0元素就成如下图形路径走向。
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 gxlove 于 2014-6-23 20:27 编辑 ]
2014-06-23 20:26
快速回复:C# 从给定的二维数组中怎么存储指定的元素?
数据加载中...
 
   



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

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