![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
KonH |
|
||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.8.2009 Репутация: нет Всего: нет |
Требуется сделать заполнение массива матриц неодинаковыми матрицами 2х2 с элементами от 0 до z.
Конкретных функций не нашел, пришлось довольствоваться рандомом. Но все равно в итоге может попасться пара одинаковых матриц. Ошибки не вижу, за помощь заранее спасибо ![]() Функция заполнения массива (List<>):
Проверка на наличие одинаковых элементов:
|
||||
|
|||||
Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: 1 Всего: 0 |
Вообще правильно будет так
|
|||
|
||||
KonH |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.8.2009 Репутация: нет Всего: нет |
Ничего не изменилось. Мне вот до сих пор не понятно, как такая простая функция может быть проблемной.
|
|||
|
||||
Ceiceron |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 2.8.2007 Где: Дубна Репутация: нет Всего: нет |
KonH, z - это некое число, водимое как параметр? Тогда вопрос: почему r.Next(z) от него зависит, собственно это и ограничивает ваш набор чисел. Либо алгоритм предполагает что число будет достаточно большим и все возможные числа попадут в матрицы, но тогда количество возможных итераций намного превосходит число этих чисел. Соответственно рендом начинает повторяться.
Т.е. если я введу z=1, то у меня сгенерируется одна матрица у которой при использовании r.Next(z) все значений всегда будут либо 0, либо 1. Это сообщение отредактировал(а) Ceiceron - 20.2.2010, 11:14 |
|||
|
||||
KonH |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.8.2009 Репутация: нет Всего: нет |
Как бы из for (int i = 0; i < Math.Pow(z, 4); i++) видно, что будет произведено z^4 итераций цикла, то есть столько, чтобы получить все возможные варианты для матрицы 2х2 со значениями каждого элемента 0-z. Если их больше - программа зависает, что логично.
Вопрос в том, почему Cont не верно работает, ведь в остальном сложно найти какую-либо проблему. Это сообщение отредактировал(а) KonH - 21.2.2010, 16:33 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |