Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ написать словарик http://www.cyberforum.ru/cpp-beginners/thread82543.html
у меня есть словарик в текст. файле вида ааа ыыы вввввввв надо написать функцию которая удаляет\сортирует\выводит словарь,надо сначала весь текст поместить в массив вот мой набросок char* str; ifstream f; f.open("c:\\text.txt"); while(!f.fail()){ f>>str;
C++ Случайные числа Создать матрицу случайных чисел, если max элемент располагается левее минимального то тогда сложить элементы левой половинки матрицы. http://www.cyberforum.ru/cpp-beginners/thread82534.html
C++ Ряды
Помогите плиз с прогой,если не трудно её полный текст ∑(от n=1 до бесконечности) n/(3n-1)
Теория и Палиндром. C++
Теор вопрос:Чем отличается наследование от агрегации? Задача:Найти все меньшие, чем 100, натуральные числа, которые при возведении в квадрат дают палиндром. (Натуральное число называется палиндромом, если его запись читается одинаково с начала и с конца, например, 4, 4884, 939 и т.д.). P.s Что то не выходит задачу написать скажите как двигатся.
C++ Найти первые m более чем 2-разрядных чисел-палиндромов http://www.cyberforum.ru/cpp-beginners/thread82516.html
Всем привет. Пришёл на Ваш форум с просьбой...может ли тут кто-нить помочь мне в решении задачи?) Найти первые m более чем 2-разрядных чисел-палиндромов, то есть чисел, десятичная запись которых читается одинаково в прямом и обратном направлениях, например: 353, 234432. Если кто нить напишет решение, буду весьма и весьма признателен! Добавлено через 26 минут #include <iostream>...
C++ Ф-ции с рекурсиями Ребята в этой проге реверс первой строки делается без проблем, но почему-то в последующих строках ф-ция реверс работает не правильно. Уже голову поломал на этом деле(так прога элементарная), так что буду очень признателен, если у кого-то найдётся время посмотреть эту прогу. с уважением, начинающий программист, который очень хочет научиться // Делает реверс строк, используя рекурсию.... подробнее

Показать сообщение отдельно
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224

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

04.01.2010, 23:22. Просмотров 2282. Ответов 4
Метки (Все метки)

Вот написал программу, которая генерирует матрицу 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;
    }
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru