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

Модель гонки черепахи и зайца (программа даже не запускается..) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка массивов http://www.cyberforum.ru/cpp-beginners/thread561061.html
Мне нужна прога, которая сортирует массив методом бинарных деревьев, причём, чтобы можно было все элементы сначала ввести. Нам язык нифига не объясняют, а задачи дают сложные. Сам догнать не могу! помогите, пожалуйста!
C++ Что такое потоковые манипуляторы Как то удивительно странно все авторы обходят стороной вопрос, что такое потоковые манипуляторы, как то endl, setw, dec и так далее. Чем же они являются. Может быть это особые значения, вряд ли. Может быть это особые фуункци. Так все таки, к какой сущности C++ следует относить эти манипуляторы. Одним словом, как применять их более-менее понятно, а что же это такое - совершенно непонятно. http://www.cyberforum.ru/cpp-beginners/thread561045.html
Вставка изображений в командную строку C++
Ребят, помогите, мне надо реализовать вставку изображений в командную строку, а также интересует вставка анимации, если такое возможно..Я новичок в с++, вроде на форуме посмотрел, не нашел тем по этому поводу..
создания поля на OpenGL C++
Подскажите как создать (с помощью каких команд и фун-ий) поле 10 на 10 что бы потом можно было его использовать, как поле для игры в морской бой,
C++ Задание размера числа http://www.cyberforum.ru/cpp-beginners/thread561023.html
Добрый день. Подскажите пожалуйста как можно задать целое положительное число в С++ длиною ровно 39 бит. Заранее благодарю.
C++ Как обработать исключение переполнения стека Если не трудно, то привидите пример функции, обрабатывающей перехватку исключения переполнения стека. подробнее

Показать сообщение отдельно
Sky_el
0 / 0 / 0
Регистрация: 23.07.2016
Сообщений: 3
23.07.2016, 01:42     Модель гонки черепахи и зайца (программа даже не запускается..)
Не судите строго, но как-то так
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstdlib>
using std::rand;
using std::srand;
#include <time.h>
#include <windows.h>
 
void printArr(int[2][70], const int);
 
int main()
{
    srand((unsigned)time(NULL));
    const int size = 70;
    int arr[2][size], T_pos=0, H_pos=0, new_posT, new_posH, step_T, step_H;
    // заполняем массив начальными значениями. Черепаха и заяц стоят в нулевых ячейках
    for (int i = 0; i<2; i++)
        for (int j = 0; j<size; j++)
            if (j == 0)
                arr[i][j] = 1;
            else
                arr[i][j] = 0;
    cout << "BANG !!!!!\nAND THE'RE OFF !!!!" << endl;
    do {
        // генерируем случайное число  определения шага для черепахи от 1 до 10.
        new_posT = rand() % 10 + 1;
        //определяем шаг черепахи, учитывая шанс.
        switch (new_posT)
        {
        case 1: case 2: case 3: case 4: case 5: step_T = 3; break;
        case 6: case 7: step_T = -6; break;
        case 8: case 9: case 10: step_T = 1; break;
        }
        // генерируем случайное число  определения шага для зайца от 1 до 10.
        new_posH = rand() % 10 + 1;
        //определяем шаг зайца, учитывая шанс.
        switch (new_posH)
        {
        case 1: case 2: step_H = 0; break;
        case 3: case 4: step_H = 9; break;
        case 5: step_H = -12; break;
        case 6: case 7: case 8: step_H = 1; break;
        case 10: step_H = -2; break;
        }
 
        for (int i = 0; i < 2; i++)
            for (int j = 0; j < size; j++)
            {
                if (i == 0 && j == T_pos)
                {
                    arr[i][j] = 0; // обнуляем предыдущую позицию черепахи
                    if (step_T < 0 && j < (-1)*step_T) // если обратный ход выходит за 0
                    {
                        arr[i][0] = 1;
                        T_pos = 0;
                        i++;
                    }
                    else
                    {
                        arr[i][j + step_T] = 1;
                        T_pos = j + step_T;
                        i++;
                    }
                }
                if (i == 1 && j == H_pos)
                {
                    arr[i][j] = 0; // обнуляем предыдущую позицию зайца
                    if (step_H < 0 && j < (-1)*step_H) // если обратный ход выходит за 0
                    {
                        arr[i][0] = 1;
                        H_pos = 0;
                        i++;
                    }
                    else
                    {
                        arr[i][j + step_H] = 1;
                        H_pos = j + step_H;
                        i++;
                    }
                }
            }
        Sleep(1000);
        printArr(arr, size);
        if (H_pos == T_pos)
            cout << "OUCH!!!" << endl;
        cout << endl;
        if (H_pos >= 70)
        {
            cout << "Hare wins!!!" << endl;
            return 0;
        }
        else
            if(T_pos >=70)
            {
                cout << "Tortise wins!!!" << endl;
                return 0;
            }
    } while (true);
}
 
 
void printArr(int arr[2][70], const int size)
{
    for (int i = 0; i<2; i++)
    {
        cout << (i == 0 ? "T: " : "H: ");
        for (int j = 0; j<size; j++)
            cout << (arr[i][j]==1 ? "*" : " ");
        cout << endl;
    }
}
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru