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

Функции.Перебор с возвратом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задачка C++ http://www.cyberforum.ru/cpp-beginners/thread440539.html
Помогите составить программу чтобы дешифровать данный текст, используя таблицу ASCII-кодов: 8A AE AC AF EC EE E2 A5 E0.
C++ Благодарность Я бы хотел поблагодарить пользователей форума, которые помогли мне когда я только пришел на форум и с пониманием отнесли к хамству и полоумным бредням новичка. Я бы хотел попросить прощения за мое неуважение и неправильное отношение которое я проявил к пользователям. Спасибо вам за грамотную консультацию и помощь. Отдельное спасибо пользователям Bers, silent_1991 и Evg. Вот эта тема ... http://www.cyberforum.ru/cpp-beginners/thread440524.html
Unresolved external symbol C++
В общем, стандартная ошибка линкера: 5>lib1.lib(a.obj) : error LNK2001: неразрешенный внешний символ "_lol" В a.c написана следующая строка: extern short lol; В b.c написано:
C++ Помогите переписать программу с С на С++ (Система счисления)
#include <stdio.h> #include <math.h> void dvoich(int x1) { int i, b; long c = 0; for(i=0;x1 > 0;i++) { b = x1 % 2;
C++ Чтение данный из файла. http://www.cyberforum.ru/cpp-beginners/thread440502.html
Как мне в переменную записать число из файла? напишите пожалуйста этот фрагмент кода.
C++ Случайный выбор из списка слов Необходимо написать программу, которая будет генерировать одно слово из двух разных списков. Тоесть при открытии, пользователю будет уже сгенерирована пара слов Например: 1-й список - Ворон, Сова, Коза 2-й список - Стол, Диван, Шкаф Программа при открытии должна случайно выбрать из первого и второго списка и выдать например: Сова Диван И предложение повторить операцию. и т.д подробнее

Показать сообщение отдельно
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
11.02.2012, 01:23     Функции.Перебор с возвратом
вариант попроще:
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
79
80
81
82
83
84
#include <iostream>
#include <vector>
///////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>   T_vec;
typedef std::vector<T_vec> T_matrix;
///////////////////////////////////////////////////////////////////////////////
using std::cin;
using std::cout;
using std::endl;
///////////////////////////////////////////////////////////////////////////////
T_matrix board;
size_t boardSize;
///////////////////////////////////////////////////////////////////////////////
void printBoard ();
bool tryToSet   (size_t);
void changeBoard(size_t, size_t, int);
///////////////////////////////////////////////////////////////////////////////
int main()
{
    cout << "Enter board size: ";
    cin  >> boardSize;
    board.resize(boardSize, T_vec(boardSize, 0));
    tryToSet(0);
    printBoard();
    return 0;
}
///////////////////////////////////////////////////////////////////////////////
void printBoard()
{
    unsigned char WHITE = 178,
                  BLACK = 176,
                  QUEEN = 5;
    for(size_t i = 0; i < boardSize; i++)
    {
        for(size_t j = 0; j < boardSize; j++)
            if(board[i][j] == -1)
                cout << QUEEN << " ";
            else if((i+j)%2)
                    cout << WHITE << WHITE;
                 else
                    cout << BLACK << BLACK;
        cout << endl;
    }
}
 
bool tryToSet(size_t i) //takes current row
{
    bool result = false;
    for(size_t j = 0; j < boardSize; j++)
    {
        if(board[i][j] == 0)
        {
            changeBoard(i, j, 1);
            if(i == boardSize-1)
                result = true;
            else if (!(result = tryToSet(i+1)))
                changeBoard(i, j, -1);
        }
        if(result)
            break;
    }
    return result;
}
 
void changeBoard(size_t row, size_t column, int value) // value: 1 for set, -1 for unset
{
    for(size_t x = 0; x < boardSize; x++)
    {
        board[row][x]    += value;
        board[x][column] += value;
        size_t foo;
        foo = column - row + x;
        if(foo >= 0 && foo < boardSize)
            board[x][foo] += value;
        
        foo = column + row - x;
        if(foo >= 0 && foo < boardSize)
            board[x][foo] += value;
    }
    if(value == 1)
        board[row][column] = -1;
    else
        board[row][column] = 0;
}
 
Текущее время: 22:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru