Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
7 / 7 / 1
Регистрация: 12.01.2015
Сообщений: 87
1

Как выйти из оператора if

21.07.2015, 17:32. Показов 4604. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу ИИ для крестиков-ноликов и вопрос в том, если исполниться одино условие как сделать так что бы другие не проверялись? break чето в if'ие не пашет, есть какие-то другие варианты?

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
 //первый щаг, заканчивание игры с одного хода
    for(int i=0; i<3; i++)
    {
        if (cells[i*3]==cells[i*3+1] && cells[i*3+1]=='O' && cells[i*3+2]=='-')
            {cells[i*3+2]='O'; break;}
        if (cells[i*3+1]==cells[i*3+2] && cells[i*3+2]=='O' && cells[i*3]=='-')
            {cells[i*3]='O'; break;}
        if (cells[i*3]==cells[i*3+2] && cells[i*3+2]=='O' && cells[i*3+1]=='-')
            {cells[i*3+1]='O'; break;}
        if (cells[i+3]==cells[i+6] && cells[i+6]=='O' && cells[i]=='-')
            {cells[i]='O'; break;}
        if (cells[i]==cells[i+3] && cells[i+3]=='O' && cells[i+6]=='-')
            {cells[i+6]='O'; break;}
        if (cells[i]==cells[i+6] && cells[i+6]=='O' && cells[i+3]=='-')
            {cells[i+3]=='O'; break;}
        if (cells[4]==cells[8] && cells[8]=='O' && cells[0]=='-')
            {cells[0]='O'; break;}
        if (cells[0]==cells[4] && cells[4]=='O' && cells[8]=='-')
            {cells[8]='O'; break;}
        if (cells[0]==cells[8] && cells[8]=='O' && cells[4]=='-')
            {cells[4]='O'; break;}
        if (cells[6]==cells[4] && cells[4]=='O' && cells[2]=='-')
            {cells[2]='O'; break;}
        if (cells[4]==cells[2] && cells[2]=='O' &&  cells[6]=='-')
            {cells[6]='O'; break;}
        if (cells[2]==cells[6] && cells[6]=='O' && cells[4]=='-')
            {cells[4]='O'; break;}
//конец первого шага
   }
//зашита, противнику один ход до конца
    for(int i=0; i<3; i++)
    {
        if (cells[i*3]==cells[i*3+1] && cells[i*3+1]=='X' && cells[i*3+2]=='-')
            {cells[i*3+2]='O';break;}
        if (cells[i*3+1]==cells[i*3+2] && cells[i*3+2]=='X' && cells[i*3]=='-')
            {cells[i*3]='O';break;}
        if (cells[i*3]==cells[i*3+2] && cells[i*3+2]=='X' && cells[i*3+1]=='-')
            {cells[i*3+1]='O';break;}
        if (cells[i+3]==cells[i+6] && cells[i+6]=='X' && cells[i]=='-')
            {cells[i]='O';break;}
        if (cells[i]==cells[i+3] && cells[i+3]=='X' && cells[i+6]=='-')
            {cells[i+6]='O';break;}
        if (cells[i]==cells[i+6] && cells[i+6]=='X' && cells[i+3]=='-')
            {cells[i+3]=='O';break;}
    }
        if (cells[4]==cells[8] && cells[8]=='X' && cells[0]=='-')
            cells[0]='O';
        if (cells[0]==cells[4] && cells[4]=='X' && cells[8]=='-')
            cells[8]='O';
        if (cells[0]==cells[8] && cells[8]=='X' && cells[4]=='-')
            cells[4]='O';
        if (cells[6]==cells[4] && cells[4]=='X' && cells[2]=='-')
            cells[2]='O';
        if (cells[4]==cells[2] && cells[2]=='X' &&  cells[6]=='-')
            cells[6]='O';
        if (cells[2]==cells[6] && cells[6]=='X' && cells[4]=='-')
            cells[4]='O';
//конец второго щага
 
//третий щаг, выставление рандомно
    if (cells[4]=='-')
        cells[4]='O';
    if (cells[0]=='-')
        cells[0]='O';
    if (cells[1]=='-')
        cells[1]='O';
    if (cells[2]=='-')
        cells[2]='O';
    if (cells[5]=='-')
        cells[5]='O';
    if (cells[8]=='-')
        cells[8]='O';
    if (cells[7]=='-')
        cells[7]='O';
    if (cells[6]=='-')
        cells[6]='O';
    if (cells[3]=='-')
        cells[3]='O';
//конец третьего шага
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2015, 17:32
Ответы с готовыми решениями:

Как правильно выйти из оператора if
Добрый день! Суть задания следующая: при нажатии большой буквы &quot;А&quot; на клавиатуре,должно...

Как выйти?
Как можно выйти из АГС, ссылок в индексе было 400 стало 17 http://unionclub.ru/

Как обратиться с сервера на клиент (или как выйти из безнадежной ситуации)
Здравствуйте.Проблема стоит в том что набор записей регистра сведений проверяет наличие изменений...

Как выйти из положения?
Добрый день!!! Пытаюсь научиться кодить на данном языке.Нашел книгу в которой говориться что как...

22
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.07.2015, 14:08 21
Author24 — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
В том варианте 2 return, что уже неправильно.
У меня тоже есть аргумент- ваша утверждение лабуда...


Несколько return-ов скорее упрощают код нежели усложняют его, а код все равно читается последовательно и весь.
2
rikimaru2013
22.07.2015, 14:37
  #22

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Несколько return-ов скорее упрощают код нежели усложняют его, а код все равно читается последовательно и весь.
Я видел ваше высказывание поповоду
C++
1
void setValue(const int value);
Врядли мы одинаково мыслим - начиная уже с этого пункта)))

0
Avazart
22.07.2015, 14:53     Как выйти из оператора if
  #23

Не по теме:

А ну тогда да...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2015, 14:53

как выйти из циклов
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include...

Как выйти из man?
Ввела man list, у меня остановиолсь на строке END , энтер, esc не помогают , приходится...

Как выйти из цикла?
Здрасьте!Я новичок, и у меня достаточно глупый вопрос. Как тут реализовать выход из цикла? ...

Как выйти из рекурсии?
Подскажите пожалуйста, как можно выйти из рекурсии? static double raschet(int r, int r1, int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru