Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
1

Генератор случайных чисел

04.01.2010, 23:22. Показов 3035. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот написал программу, которая генерирует матрицу 9*9.
В каждой строке - от 1 до 9, не повторяются
В каждом стобце - то же самое.

Однако программа работет не совсем так, как надо - числа с строках и столбцах повторяются.

Подскажите, что неправильно?

Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    srand(time(0));
    int sudoku[9][9];
    
    int number;
    int i, j, k, l;
    
    bool repeated;
        
    for(i=0; i<9; i++)
    {
        for(j=0; j<9; j++)
        {
            for(;;)
            {
                number=rand()%9+1;
                repeated=false;
                
                for(l=0; l<i; l++)
                {
                    if(number==sudoku[l][j])
                    {
                        repeated=true;
                        continue;
                    }
                }
                
                for(k=0; k<j; k++)
                {
                    if(number==sudoku[i][k])
                    {
                        repeated=true;
                        continue;
                    }
                }
                
                sudoku[i][j]=number;
                break;
            }
        }
    }
Вот, что выводит программа:

6 8 8 6 6 3 6 7 3
2 9 9 1 5 3 5 5 5
1 5 6 8 1 5 8 9 1
2 8 8 6 3 6 3 8 1
3 2 7 5 4 4 4 4 9
5 9 2 9 7 4 3 5 3
5 1 2 4 1 8 2 6 1
6 6 8 6 8 8 3 2 2
6 5 5 3 7 2 3 5 9

Пытаюсь сделать судоку на С++, на на этой части что-то заклинило...

Добавлено через 2 часа 35 минут
Немного переделал.

Теперь работает-то правильно, однако комп почему-то зависает...

вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    time_t kl;
    srand(kl);
    const int size=9;
    int number;
    int sudoku[size][size];
    int i, j;
    int k, l;
    
    bool repeated;
    
    for(i=0; i<size; i++)
    {
        for(j=0; j<size; j++)
        {
            for(;;)
            {
                repeated=false;
                number=rand()%9+1;
                
                for(l=0; l<i; l++)
                    if(sudoku[l][j]==number)
                    {
                        repeated=true;
                        break;
                    }
                for(k=0; k<j; k++)
                    if(sudoku[i][k]==number)
                    {
                        repeated=true;
                        break;
                    }
                
                if(repeated==true)
                    continue;
                    
                sudoku[i][j]=number;
                break;
            }
            cout << sudoku[i][j] << " ";
        }
        cout << endl;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2010, 23:22
Ответы с готовыми решениями:

Генератор случайных чисел
Добрый день!У меня есть код #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; #include...

Генератор случайных чисел
Как написать генератор случайных (пусть и псевдо) чисел, выдающий на выходе целые случайные числа...

Генератор случайных чисел
Помогите написать программу, которая генерировала бы случайные числа мультипликативным конгруэнтным...

Генератор случайных чисел
Здравствуйте, написал вот такой генератор псевдослучайных чисел в диапазоне 0-99 и задался вопросом...

4
Эксперт С++
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
05.01.2010, 20:22 2
https://www.cyberforum.ru/cpp-... 44753.html
0
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
05.01.2010, 21:31  [ТС] 3
>> XuTPbIu_MuHTAu
И ЧТО!?

Где в том посте, на который вы указали, хоть какая-то связь с моим??
0
Эксперт С++
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
05.01.2010, 21:38 4
Ой,я думал это в прикрепленной ответ.

Связь прямая. Быстрый алгоритм генерации случайных чисел там описан.
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
06.01.2010, 12:00 5
https://www.cyberforum.ru/post460606.html вот вам ответ
0
06.01.2010, 12:00
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.01.2010, 12:00
Помогаю со студенческими работами здесь

генератор случайных чисел
как реализовать генератор случайных чисел? чтобы можно было вводить два числа(например 56 и 519), и...

Генератор случайных чисел
Добрый вечер! Собственно-то тако задание: необходимо правильно задать параметры для ЛКГ и написать...

Генератор случайных чисел
Всем привет, вот такая задачка. &quot;Датчики случайных чисел можно привлекать при подборе проверочных...

Генератор случайных чисел
Здравствуйте! Кто-нибудь объясните пожалуйста. Вот есть функция rand(). Она возвращает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru