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

Создание таблицы для судоку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как перегрузить оператор = http://www.cyberforum.ru/cpp-beginners/thread534207.html
ну там чтоб он например сложение делал или чтото другое
C++ Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? Подскажите как правильно составить программу к этим задачам: 1.Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? Если можно, то указать тройку x, y, z таких натуральных чисел, что n=x2+y2+z2 . 2.Переменной t присвоить значение 1 или 0 в зависимости от того, можно или нет натуральное число n представить в виде трех полных квадратов. http://www.cyberforum.ru/cpp-beginners/thread534198.html
Итерационные циклы C++
Вычислить рис1. вычисления прекратить, если рис2. Подсчитать кол-во слагаемых.
C++ Перегрузка операций!
Здравствуйте, у меня есть код (работы со строками) и нужно перегрузить операцию чтобы данный класс (текст). мог прибавлять к себе другой текст(можно и тот же) код работает, вот только не знаю как это осуществить. Это класс стринг#include <iostream> #include <string> using namespace std; class Row { char *str; public:
C++ Создать абстрактный класс CVehicle http://www.cyberforum.ru/cpp-beginners/thread534157.html
Здравствуйте, товарищи! Задали задачу, не понимаю условие. Создать абстрактный класс CVehicle. На его основе реализовать классы CPlane, ССаг и CShip. Классы должны иметь возможность задавать и получать коорди* наты, параметры средств передвижения (цена, скорость, год выпуска). Для само* лета должна быть определена высота, для самолета и корабля — количество пас* сажиров. Для корабля —...
C++ Упорядочить элементы на главной диагонали по возрастанию Дана квадратная матрица целых чисел. Упорядочить элементы на главной диагонали по возрастанию подробнее

Показать сообщение отдельно
CableGuy
 Аватар для CableGuy
14 / 14 / 1
Регистрация: 29.03.2012
Сообщений: 41
29.03.2012, 22:27     Создание таблицы для судоку
Всем доброго времени суток.Пишу курсовую на тему "Судоку",надо в двумерный массив случайным образом заносить числа от 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
41
42
43
44
45
46
47
#include <iostream.h>
#include <time.h>
#include <stdlib.h>
int mass_numb[9][9];
void main()
{
    int numb=1,k=0,t=0,progress=0,col,row,c,r;
/* numb число которое добавляеться в таблицу,k надо для проверки на совпадения
progress будет подсчитывать на сколько заполнена таблица,col и row - надо для случайно выбранной позиции,с и r для нахождения начальной клетки в секторе где будет проверка на совпадение */
    srand(time(NULL));
    while(progress<72)
    {
        col=rand()%9;
        row=rand()%9;
        if(mass_numb[col][row]==0)
        {
            for(int i=0;i<9;i++)
            {
                if(numb==mass_numb[col][i])
                    k++;
                if(numb==mass_numb[i][row])
                    k++;
//Проверяем строку и колонку на совпадения
            }
            c=(col/3)*3;
            r=(row/3)*3;
            for(i=0;i<3;i++)
                for(int j=0;j<3;j++)
                    {
                        if(numb==mass_numb[c+i][r+j])
                            k++;
                    }
//Проверяем по сектору нет ли совпадеий
            if(k==0)
            {
                mass_numb[col][row]=numb;
                progress++;
                cout<<progress<<" done"<<endl;
                if(progress%9==0)
                    numb++;
            }
            k=0;
//Если совпадений небыло заносим число в массив,увиличуем progress
//и если число использовалось 9 раз увеличуем на еденицу,обнуляем k
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru