Форум программистов, компьютерный форум 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 файл). Создаю тест програму. Все три файла находяться рядом в одной папке. Во время компиляции в... подробнее

Показать сообщение отдельно
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.01.2010, 02:04     Судоку!
Все, сделал!! Ура
http://codepad.org/BY9ezRij - подтверждение что оно пашет)), а вот и сам код:
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
77
78
#include <iostream>
 
int IsSq(int** a, int i, int j, int b)
{
    int di = i/3,
        dj = j/3;
    for (int _b(di*3), ddi = _b; ddi < _b+3; ++ddi)
        for (int __b(dj*3), ddj = __b; ddj < __b+3; ++ddj)
            if (a[ddi][ddj] == b) return 1;
    return 0;
}
 
int IsVer(int** a, int i, int b)
{
    for (int dj = 0; dj < 9; ++dj)
        if (a[i][dj] == b) return 1;
    return 0;
}
 
int IsHor(int** a, int j, int b)
{
    for (int di = 0; di < 9; ++di)
        if (a[di][j] == b) return 1;
    return 0;
}
 
void InitMas(int** a)
{
    for (int i = 0; i < 9; ++i)
        for (int j = 0; j < 9; ++j)
            a[i][j] = -1;
}
 
void Sudoku(int** a)
{
    for (int i = 0; i < 9; ++i)
    {
        for (int j = 0; j < 9; ++j)
        {
            int c = 9;
            for (int h = 1; h < 10; ++h)
                if (IsSq(a,i,j,h) || IsHor(a,j,h) || IsVer(a,i,h) )
                    --c;
            if (!c)
            {
                InitMas(a);
                Sudoku(a);
                return;
            }
            int b = rand()%9+1;
            while (IsSq(a,i,j,b) || IsHor(a,j,b) || IsVer(a,i,b) )
                b = rand()%9+1;
            a[i][j] = b;
        }
    }
}
 
void ShowMas(int** a)
{
    for (int i = 0; i < 9; ++i)
    {
        for (int j = 0; j < 9; ++j)
            printf("%3d",a[i][j]);
        printf("\n\n");
    }
}
 
int main()
{
    int** a = (int **) calloc(9, sizeof(int *));
    for (int i = 0; i < 9; ++i)
        a[i] = (int *) calloc (9, sizeof(int));
    InitMas(a);
    Sudoku(a);
    ShowMas(a);
    getchar();
    return 0;
}
оказывается сервак на http://codepad.org довольно мощный, он буквально за долю секунды сгенерировал ответ, мой же ПК наверное с 20 сек думает)) а, нет, проверил, пашет: 7,531 секунды))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru