Example #1
0
File: Ten.cs Project: aaksn/2att
        public void Process(out int[,] res, out int maxi)
        {
            int n = Mas.GetLength(0);

            double[] res1 = new double[n];  //массив для хранения информации о коэфицентах
            for (int i = 0; i < n; i++)
            {
                res1[i] = (double)K_a[i] / K_b[i];
            }
            // Словарь с числами и их количеством
            Dictionary <double, int> repeats = new Dictionary <double, int>();

            foreach (var numb in res1)
            {
                if (repeats.ContainsKey(numb))
                {
                    repeats[numb] += 1;
                }
                else
                {
                    repeats[numb] = 1;
                }
            }
            int    max = repeats.Values.Max();//максимальное количество повторяющихся значений
            double key = repeats.First(x => x.Value == max).Key;

            int[,] result = new int[max, 3];
            int k = 0;

            for (int x = 0; x < n; x++)
            {
                if (((double)K_a[x] / K_b[x]) == key)
                {
                    for (int j = 0; j < 3; j++) //заполнение массива
                    {
                        result[k, j] = Mas[x, j];
                    }
                    k++;
                }
            }
            res  = result;
            maxi = max;
        }