标题:求助:这个程序编的对吗?能否继续简化???
只看楼主
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
结帖率:66.67%
已结贴  问题点数:20 回复次数:9 
求助:这个程序编的对吗?能否继续简化???
读取全站仪数据(Longquanshan.txt),将x, y, h 读取到数组中,以x从小到大排序,将排序的结果输出到文本文件中。


using System;
using System.Collections.Generic;
using System.Text;
using
namespace 龙泉山

{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"D:\longquanshan.txt";
            string[] readText = File.ReadAllLines(path);
            string []s=new string [3];
  
            float [] x = new float [readText.Length];
            float [] y = new float [readText.Length];
            float [] h = new float [readText.Length];

            for (int i = 0; i <readText.Length; i++)

            {

                t = readText[i].Split('\t');
                x[i] = float.Parse(t[0]);
                y[i] = float.Parse(t[1]);
                h[i] = float.Parse(t[2]);

            }

            bool sign = true;
            for (int i = 0; i <readText.Length&&sign ; i++)
            {
                sign = false;
                for (int j = i+1; j < readText.Length; j++)
                {
                    if (x[i] > x[j])
                    {
                        sign = true;
                        float temp = x[i];
                        x[i] = x[j];
                        x[j] = temp;
                        temp = y[i];
                        y[i] = y[j];
                        y[j] = temp;
                        h[i] = h[j];
                        h[j] = temp;
                    }

                }

            }

      

            string path1 = @"D:\Newlongquanshan.txt";

            if (!File.Exists(path1))
            {
                using (StreamWriter sw = File.CreateText(path1))
                    for (int i =0; i <readText.Length; i++)
                    {
                        sw.WriteLine(x[i] + "\t" + y[i] + "\t" + h[i]);

                    }

            }

            using (StreamReader sr = File.OpenText(path1))

            {
                string str = "";
                while ((str = sr.ReadLine()) != null)
                {
                    Console.WriteLine(str);

                }

            }

            Console.ReadLine();

        }
   }

}
搜索更多相关主题的帖子: 全站仪 文本文件 龙泉山 
2010-11-03 09:02
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
请提供D:\Newlongquanshan.txt内容

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-03 09:06
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
得分:0 
这个不用管他,路径有问题是正常的!
2010-11-03 09:08
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
得分:0 
回复 2楼 wangnannan
那个东西不用管!只需要检验语句有错误没,能不能继续优化下?
2010-11-03 09:10
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
t 是什么啊?float.Parse(t[0]);


[ 本帖最后由 wangnannan 于 2010-11-3 09:18 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-03 09:15
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
得分:0 
回复 5楼 wangnannan
我也搞不懂!
2010-11-03 09:19
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
回复 6楼 hbxnmark
这不是你写的代码啊

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-03 09:24
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
得分:0 
回复 7楼 wangnannan
我搞不懂才来求教的,你们帮帮忙,看下可不可以用!
2010-11-03 09:29
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:20 
程序代码:
using System;
using System.Collections.Generic;
using System.Text;
using namespace 龙泉山
{
    class Program
    {
        static void Main(string[] args)
        {
            string path;
            bool sign;
            string[] readText;
            float[] x;
            float[] y;
            float[] h;
            InitValue(out path, out sign, out readText, out x, out y, out h);

            sign = Sort(sign, readText, x, y, h);

            path = SaveFile(path, readText, x, y, h);
            Console.ReadLine();

        }

        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="path"></param>
        /// <param name="sign"></param>
        /// <param name="readText"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="h"></param>
        private static void InitValue(out string path, out bool sign, out string[] readText, out float[] x, out float[] y, out float[] h)
        {
            path = @"D:\longquanshan.txt";
            sign = true;
            readText = File.ReadAllLines(path);
            x = new float[readText.Length];
            y = new float[readText.Length];
            h = new float[readText.Length];

            for (int i = 0; i < readText.Length; i++)
            {
                string[] t = readText[i].Split('\t');
                x[i] = y[i] = h[i] = float.Parse(t[0]);
            }
        }

        /// <summary>
        /// 排序
        /// </summary>
        /// <param name="sign"></param>
        /// <param name="readText"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="h"></param>
        /// <returns></returns>
        private static bool Sort(bool sign, string[] readText, float[] x, float[] y, float[] h)
        {
            for (int i = 0; i < readText.Length && sign; i++)
            {
                sign = false;
                float temp;
                for (int j = i + 1; j < readText.Length; j++)
                {
                    if (x[i] > x[j])
                    {
                        sign = true;
                        temp = x[i];
                        x[i] = x[j];
                        x[j] = temp;
                        temp = y[i];
                        y[i] = y[j];
                        y[j] = temp;
                        h[i] = h[j];
                        h[j] = temp;
                    }
                }
            }
            return sign;
        }

        /// <summary>
        /// 保存文件
        /// </summary>
        /// <param name="path"></param>
        /// <param name="readText"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="h"></param>
        /// <returns></returns>
        private static string SaveFile(string path, string[] readText, float[] x, float[] y, float[] h)
        {
            path = @"D:\Newlongquanshan.txt";
            if (!File.Exists(path))
            {
                using (StreamWriter sw = File.CreateText(path))
                    for (int i = 0; i < readText.Length; i++)
                    {
                        sw.WriteLine(x[i] + "\t" + y[i] + "\t" + h[i]);
                    }
            }
            using (StreamReader sr = File.OpenText(path))
            {
                string str = "";
                while ((str = sr.ReadLine()) != null)
                {
                    Console.WriteLine(str);
                }

            }
            return path;
        }

    }//类Program结束
}//命名空间结束
略微修改下 应该可以用了 希望对楼主有帮助 好奇 问一下 龙泉山什么地方?

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-11-03 09:40
hbxnmark
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-11-3
得分:0 
回复 9楼 wangnannan
随便弄的一个名字,这没什么讲究的。关键我是新手,可否写下你的思路,我好学习下!谢谢!
2010-11-03 09:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-324813-1-1.html




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

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