예제 #1
0
 public static double CalDistanceByIndex(int index1, int index2, double[,] coordinates)
 {
     return(DistanceCal.calDistance(
                coordinates[index1, 0],
                coordinates[index1, 1],
                coordinates[index2, 0],
                coordinates[index2, 1]));
 }
예제 #2
0
 public static void Main(string[] args)
 {
     Console.Write("Loading file... ");
     if (File.Exists(filePath))
     {
         Console.WriteLine("Finished. Organizing... ");
         string[] rawData = File.ReadAllLines(filePath);
         string[,] allData = new String[rawData.Length, 4];
         for (int i = 0; i < allData.GetLength(0); i++)
         {
             string[] tmp = rawData[i].Split(',');
             for (int j = 0; j < allData.GetLength(1); j++)
             {
                 allData[i, j] = tmp[j];
             }
         }
         double[,] coordinates = new double[allData.GetLength(0), 2];
         for (int i = 0; i < coordinates.GetLength(0); i++)
         {
             coordinates[i, 0] = double.Parse(allData[i, 2]);
             coordinates[i, 1] = double.Parse(allData[i, 3]);
         }
         Console.WriteLine("Finished.\nCalculating... ");
         double[,] distanceTable = new double[allData.GetLength(0), allData.GetLength(0)];
         for (int i = 0; i < distanceTable.GetLength(0); i++)
         {
             for (int j = 0; j < distanceTable.GetLength(1); j++)
             {
                 distanceTable[i, j] = DistanceCal.CalDistanceByIndex(i, j, coordinates);
                 Console.Write(Math.Round(distanceTable[i, j], 0) + "\t");
             }
             Console.WriteLine();
         }
         for (int i = 0; i < allData.GetLength(0); i++)
         {
             ArrayList unvisitedList = new ArrayList();
             for (int j = 0; i < allData.GetLength(0); j++)
             {
                 unvisitedList.Add(i);
             }
             while (unvisitedList.Count != 0)
             {
             }
         }
     }
     else
     {
         Console.WriteLine("Failed.\nFile {0} does not exist.", filePath);
         Environment.Exit(-1);
     }
 }