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

Судоку! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что за программа http://www.cyberforum.ru/cpp/thread82592.html
Есть видио уроки по C++, и там используется непонятно какая среда программирования. Подскажите если знаете как эта программа называется. И еще сразу вопрос: какая среда программирования самая удобная и простая в освоении?
C++ Генератор случайных чисел Вот написал программу, которая генерирует матрицу 9*9. В каждой строке - от 1 до 9, не повторяются В каждом стобце - то же самое. Однако программа работет не совсем так, как надо - числа с строках и столбцах повторяются. Подскажите, что неправильно? Вот код: http://www.cyberforum.ru/cpp/thread82548.html
C++ Найти первые m более чем 2-разрядных чисел-палиндромов
Всем привет. Пришёл на Ваш форум с просьбой...может ли тут кто-нить помочь мне в решении задачи?) Найти первые m более чем 2-разрядных чисел-палиндромов, то есть чисел, десятичная запись которых читается одинаково в прямом и обратном направлениях, например: 353, 234432. Если кто нить напишет решение, буду весьма и весьма признателен! Добавлено через 26 минут #include <iostream>...
C++ Инициализация вектора массивом
Можно ли как-то упростить эту запись? int fib={1,1,2}; int tri={1,3,6}; int luc={1,3,4}; int sqr={1,4,5}; int pel={1,2,5}; int pen={1,5,12}; vector<int> fibonacci(fib,fib+3), lucas(luc,luc+3), pell(pel,pel+3), triangular(tri,tri+3), square(sqr,sqr+3), pentagonal(pen,pen+3);
C++ Обработка двумерых массивов и суммирование рядов. http://www.cyberforum.ru/cpp/thread82265.html
Здравствуйте. Помогите написать небольшие программы на visual c++ по обработке массивов. 1)Разработать алгоритм решения задачи суммирования ряда. C помощью цикла с предусловием while. Предусмотреть ввод данных (аргумент и точность) с клавиатуры и вывод результата (сумма ряда) на экран. Сравнить полученное значение суммы с точным значением путем вычисления заданной функции...
C++ Компиляция С++ проекта для КПК Всем привет! Решил тут одну полезную программку скомпилить для покета. У меня стоит VS2003 и когда-то я еще на VB создавал проект Smart Device Application, и он работал. А для С++ не нашел похожего ничего. + еще программка то написана для консоли. Надо ли для КПК будет рисовать формочки? Подскажите пожалуйста куда копать! подробнее

Показать сообщение отдельно
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
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 секунды))
 
Текущее время: 20:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru