日期:2014-05-17  浏览次数:20821 次

求助 关于 对比 txt 文件里数字的问题

我有个 txt文件,里面内容例如下面:

-63,1,2,-62,200,220,
-41,1,2,-62,120,140,
-66,1,2,-62,220,240,
-44,1,2,-62,140,160,
-53,1,2,-62,180,200,
-46,1,2,-62,160,180,
-52,1,2,-62,170,190,
-42,2,1,-62,130,150,
-59,1,2,-62,190,210,
-48,1,2,-62,150,170,
-65,1,2,-62,210,230,
-40,1,2,-62,110,130,

程序需要:

比如 int a = -44,

 读取txt文件,对比是否在第一竖列有 -44 这个值
{
如果有,让  k=等于第5列的值(140), 
            j=等于第6列的值(160)
}

{
如果没有 -44 这个值

在第一竖列里找到比-44大的最小相似值 比如为:-42
让 k1=  -42的等于第5列的值
   j1=  -42的等于第6列的值

在第一竖列里找到比-44小的最小相似值 比如为:-46
让 k2=  -46的等于第5列的值
   J2=  -46的等于第6列的值
}

小弟是新手,在赶毕业设计,着急死了,希望大哥大姐们多多帮忙
小弟给大家跪了

------解决方案--------------------
呵呵,刚好有点时间,给你写了下给你参考下,把那些数字复制,然后放到C:\test.txt,建议还是要按版主说的,自己多写写,多练练,才会有提高

        private void button1_Click(object sender, EventArgs e)
        {
            DataTable dt = ReadData();

            int a = -44;
            int k, j, k1,j1,k2,j2;

            DataRow[] drs=dt.Select("a="+a);

            if (drs.Length > 0)
            {
                k = Convert.ToInt32(drs[0][4]);
                j = Convert.ToInt32(drs[0][5]);
            }
            else
            {
                DataTable dt2=dt.Select("a>" + a).CopyToDataTable();

                DataView dv = new DataView(dt2);
                dv.Sort="a";
                k1 = Convert.ToInt32(dv.ToTable().Rows[0][4]);
                j1 = Convert.ToInt32(dv.ToTable().Rows[0][5]);

                DataTable dt3 = dt.Select("a<" + a).CopyToDataTable();

                DataView dv2 = new DataView(dt3);
                dv2.Sort = "a desc";