コード例 #1
0
        private void button4_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd1 = new OpenFileDialog(),
                           ofd2 = new OpenFileDialog();

            ofd1.Title = "Choose non-optimized parallel sort results";
            ofd2.Title = "Choose optimized parallel sort results";

            if (ofd1.ShowDialog() == DialogResult.OK &&
                ofd2.ShowDialog() == DialogResult.OK)
            {
                int nCount1, maxPower1,
                    nCount2, maxPower2;
                PointF[][] res1, res2;

                res1 = FileWorker.ReadSortResultsFromFile(ofd1.FileName, out maxPower1, out nCount1);
                res2 = FileWorker.ReadSortResultsFromFile(ofd2.FileName, out maxPower2, out nCount2);

                if (nCount1 != nCount2 ||
                    maxPower2 != maxPower1)
                {
                    MessageBox.Show("Incorrect files!");
                    return;
                }

                List <Tuple <int, int, long> > list = new List <Tuple <int, int, long> >();
                for (int j = 0; j < nCount1; j++)
                {
                    for (int i = 0; i < maxPower1 + 2; i++)
                    {
                        list.Add(new Tuple <int, int, long>((int)res1[i][j].X, i == maxPower1 + 1 ? -1 : i, (long)(res1[i][j].Y - res2[i][j].Y)));
                    }
                }

                FileWorker.WriteSortResultsInFile(list, "difference.txt", nCount1, maxPower1);
                new Graphic("difference.txt").Show();
            }
        }