首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

网下不知道如何问的算法

2013-01-08 
求一个网上不知道怎么问的算法我是用的C#语言,比如我有N个DataTable,要求这N个DataTable同一行同一列去掉

求一个网上不知道怎么问的算法
我是用的C#语言,比如我有N个DataTable,要求这N个DataTable同一行同一列去掉最大值和最小值求平均值,然后应该得到一个新的DataTable。描述起来感觉就那么几个字,不过用代码写起来不知道怎么处理了。求高手回答。小弟把所有分献上了。
[解决办法]
for(int i=0;i<N;i++)
{
//遍历table
//取行列值,放到数组中,或者放到new DataTable中,不会去看帮助,当然这里可以对最大值最小值处理
}
[解决办法]
写一个高效的算法确实要废些脑筋。
[解决办法]
评分系统吧。  1楼的方法可行
[解决办法]
如果表结构一样的话,先合并在一个表中再来处理应该更快一些
[解决办法]
那你先用冒泡  去除  最大相应的最小、、然后、、就然后了
[解决办法]
那你用一个分隔符、、把要分开的数据结尾用个字符割断、、你读的时候 把字符跳过 不读、、
[解决办法]
for(int i=0;i<N;i++)
{
//遍历table
//取行列值,放到数组中,或者放到new DataTable中,不会去看帮助,当然这里可以对最大值最小值处理
}网下不知道如何问的算法
[解决办法]
                newDt;//new 一个DataTable
                for (int j = 0; j < t1.Rows.Count; j++)// 遍历行数
                {
                    for (int k = 0; k < t1.Columns.Count; k++)//遍历列数
                    {
                        //获取N个DataTable中同行同列的值集合
                        var currentCellValues = new Array[N];
                        for (var i = 0; i < N; i++)
                        {
                            currentCellValues[i] = t1.Columns;
                        }
                        //去掉最大和最小值,再去平均(建议linQ)
                        var currentCellValue = ....
                        newDT[j,k] = currentCellValue ;
                    }
            }


********注意空值判断哈。
[解决办法]
linq,先把这些表join起来,然后select出平均数。
[解决办法]
先遍历N个table,取行列值,放到集合中。
然后New一个datatable,把集合的数据绑定上。
结束。

C#也可以直接datatable.Select
例如:
DataTable.Select("ID=XXX");

热点排行