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

О 8 ферзях(Без рекурсии) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись и чтение с файла http://www.cyberforum.ru/cpp-beginners/thread194237.html
Подскажите пожалуйста как правильно записать массив в файл и считать его оттуда в другой массив? Если можно пример кода не в чистом с,а в с++ Спасибо!
C++ типы указателей Помогите понять, что от меня хотят в этом задании: "выбрать данные из памяти с помощью разных типов указателей (float, char)" http://www.cyberforum.ru/cpp-beginners/thread194229.html
C++ массивы, new и delete
Здравствуйте. Подскажите пожалуйста, чем отличается допустим символьный массив char s="hello"; от char *s1=new char ? Тоесть в смысле чем отличается выделение памяти? И ещё хотел узнать, допустим массив s вышеприведённый как-то удалить можно? Про delete s1 я знаю, а в случае с s как?
Нужно что бы пароль и имя записывались в файл, как исправить? C++
#include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> #include <fstream> using namespace std; int main() { int const L=5, J=20;
C++ задача на цикл http://www.cyberforum.ru/cpp-beginners/thread194207.html
Для каждого из некоторого количества пар чисел M,N найти все простые общие делители. Не могу понять как в цикле сделать это, или проше через функцию задать чтобы находились числа для каждого а потом общие вывести на экран?
C++ замена символа при выводе из файла Есть задача: Написать программу, которая позволяет пользователю ввести произвольную строку, считывает количество символов в ней и сохраняет это число в переменную count. Потом выводит ответ(варианты ответов хранятся в файле answers.txt, по одному в каждой строке)под номером count. При этом каждому ответу присваивается номер, начиная с 0. При выводе первой строки в качестве ответа в ней символ R... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2804 / 1580 / 247
Регистрация: 03.05.2010
Сообщений: 3,675
21.11.2010, 20:52     О 8 ферзях(Без рекурсии)
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
85
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_queens_disp;
//////////////////////////////////////////////////////////////////////////////////////
bool  last_elem_is_correct(const T_queens_disp&  queens_disp)
{
    int  pos = queens_disp.size() - 1;
    for(int i = 0; i < pos; ++i)
    {
        int diff_abs = abs(queens_disp[i] - queens_disp[pos]);
        if(!diff_abs
           || diff_abs == pos - i) return  false;
    }
    return  true;
}
//////////////////////////////////////////////////////////////////////////////////////
bool  successfully_inc_last_elem(T_queens_disp&  queens_disp)
{   
    for(;;)
    {
        ++*queens_disp.rbegin();
        if(*queens_disp.rbegin() > '8')
        {
            return  false;
        }
        if(last_elem_is_correct(queens_disp))
        {
            return  true;
        }
    }   
}
//////////////////////////////////////////////////////////////////////////////////////
bool  get_next_queens_disposition(T_queens_disp&  queens_disp)
{
    for(;;)
    {
        if(!successfully_inc_last_elem(queens_disp))
        {
            if(queens_disp.size() == 1)
            {
                return  false;
            }
            else
            {
                queens_disp.erase(queens_disp.size() - 1);
            }
        }
        else
        {
            if(queens_disp.size() == 8)
            {
                return true;
            }
            else
            {
                queens_disp += '0';
            }
        }
    }   
}
//////////////////////////////////////////////////////////////////////////////////////
void  print_all_queens_disposition()
{
    T_queens_disp  queens_disp_cur("0");
    std::cout << "Расстановки на шахматной доске 8 ферзей, не бьющих друг друга:"
              << std::endl;
 
    int  count = 0;
    while(get_next_queens_disposition(queens_disp_cur))
    {
        std::cout << "#"
                  << ++count
                  << ":\t"
                  << queens_disp_cur
                  << std::endl;
    }    
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    print_all_queens_disposition(); 
}
 
Текущее время: 14:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru