Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > проверка массива


Автор: sergio11 30.1.2011, 17:48
есть матрица 9*9 заполненная числами 1-9. нужно реализовать проверку на повторимость как в судоку. тоесть кпримеру берем один столбец и в нем проверяем каждый индекс строки со всеми остальными. мне бы хотя бы это понять как сделать, а с матрицей сам попробую разобраться.
вот нароботки:
Код

label3.Text = "fine";
            for (int i = 0; i <= 7; i++)
               // for (int j = 0; j <= 9; j++)
                    for (int y = 1; y <= ; y++)
                    {
                        if (hh[i, 0] == hh[y, 0])
                        {
                            label3.Text = "error"; break;
                        }
                    }
 
массив hh строковый, я его вот так делал
Код

string[] mas = Controls.OfType<TextBox>().Select(tb => tb.Text).ToArray();
            int[,] hh=new int[9,9] ;
            int k=0;
            for(int i = 0; i <= 8; i++)
                for (int j = 0; j <= 8; j++)
                {
                    hh[i, j] = mas[k];
                    k++;
                }

Автор: diadiavova 1.2.2011, 20:36
Скопируй проверяемые значения в одномерную коллекцию, а там проверить повторяемость можно так
Код

coll.Count() == coll.Distinct().Count()

Если условие выполняется, значит повторяющихся элементов нет.

Автор: sergio11 3.2.2011, 09:11
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)