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

Судоку! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что за программа http://www.cyberforum.ru/cpp/thread82592.html
Есть видио уроки по C++, и там используется непонятно какая среда программирования. Подскажите если знаете как эта программа называется. И еще сразу вопрос: какая среда программирования самая удобная и простая в освоении?
C++ Обработка двумерых массивов и суммирование рядов. Здравствуйте. Помогите написать небольшие программы на visual c++ по обработке массивов. 1)Разработать алгоритм решения задачи суммирования ряда. C помощью цикла с предусловием while. Предусмотреть ввод данных (аргумент и точность) с клавиатуры и вывод результата (сумма ряда) на экран. Сравнить полученное значение суммы с точным значением путем вычисления заданной функции... http://www.cyberforum.ru/cpp/thread82265.html
Компиляция С++ проекта для КПК C++
Всем привет! Решил тут одну полезную программку скомпилить для покета. У меня стоит VS2003 и когда-то я еще на VB создавал проект Smart Device Application, и он работал. А для С++ не нашел похожего ничего. + еще программка то написана для консоли. Надо ли для КПК будет рисовать формочки? Подскажите пожалуйста куда копать!
Проверьте программу: C++
Функция MakeCat создает новый объект класса CAT в динам. памяти и возвращвет указатель. Затем в функции main эта память очищается. Все ли работает корректно? #include <iostream> using namespace std; class CAT {
C++ Как понять этот константный указатель? http://www.cyberforum.ru/cpp/thread82125.html
В общем, имеется класс Cat. Объект класса - SimpleCat. И имеется функция с константым указателем: const SimpleCat* const FunctionTwo(const SimpleCat* const theCat) Что обозначают все эти const? Насколько я понимаю: 1. Константный указатель. 2. Может ссылаться только на FunctionTwo 3. Ничего не изменяет в объекте. 4. Ничего не делает с объектом theCat.
C++ Модули в C++ Доброе время суток! Помогите мне пожалуйста со следующей проблемой. Никак не розберусь с модулями на C++. Создаю один header файл с рассширением .H . Пишу в нём заголовки функций. Создаю второй source файл с рассширением .С где собственно и указываю все эти функции (естественно подключив header файл). Создаю тест програму. Все три файла находяться рядом в одной папке. Во время компиляции в... подробнее

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

Судоку! - C++

05.01.2010, 16:32. Просмотров 4752. Ответов 3
Метки (Все метки)

Почти написал программу для генерирования судоку. Компилируется, работает, однако в 50% случаях генерирует только 3-8 строк и зависает. В остальных случаях генерирует полность, но в квадратах числа повторяются. Подскажите, где ошибка, а то я 100 раз код просмотрел и не заметил.

Вот код:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <stdlib.h>
using namespace std;
 
int main()
{
    srand(time(0));
    const int size=9;
    int number;
    int sudoku[size][size];
    int i, j;
    int k, l;
    int chance;
    int i_from, j_from;
    
    bool repeated;
    
    for(i=0; i<size; i++)
    {
        for(j=0; j<size; j++)
        {
            
            chance=rand()%4;
            if(chance==0)
            {
                cout << "#" << " ";
                sudoku[i][j]=0;
                continue;
            }
            
            if(i<3) i_from=0;
            else if(i<6) i_from=3;
            else i_from=6;
            
            if(j<3) j_from=0;
            else if(j<6) j_from=3;
            else j_from=6;
            
            for(;;)
            {
                repeated=false;
                number=rand()%9+1;
                
                for(l=i_from; l<i; l++)
                    for(k=j_from; k<j; k++)
                        if(sudoku[l][k]==number)
                        {
                            repeated=true;
                            break;
                        }
                
                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;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru