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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Andrew_ku
0 / 0 / 0
Регистрация: 02.04.2011
Сообщений: 31
#1

Не работает проверка по побочной диагонали! - C++

02.04.2011, 13:52. Просмотров 480. Ответов 0
Метки нет (Все метки)

Очень нужна помощь! Я пишу крестики нолики на большом поле(там до 5 вряд) и застрял на проверке победы.
У меня проверяет на победу по горизонтали, вертикали и главной диагонали , А ПО ПОБОЧНОЙ ПОЧЕМУ-ТО НЕ РАБОТАЕТ. Никак не могу понять почему. Помогите пожалуйста!! Очень надо.
Мое поле это двумерный массив POLE[15][15]. Где Нулевый столбец и строка заняты нумерацией.

Вот код на проверку по главной(который работает) и по побочной(который не пашет):

Добавлено через 1 минуту
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
//Проверка на победу-----------------------------------------------------
void Win( char POLE[M][N],int hod)
{   
    
    
    switch(hod%2)
    {
// для ПЕрвого игрока==============================================================
    case 0:
            for(int i=1;i<M;i++)
            for(int j=1;j<N;j++)
              {
                if(POLE[i][j]=='X')
                  {
                      
//ПРоверка по главной диагонали ====================================================================
                     int Vgran_i=i-4,Ngran_i=i+4; // Границы для проверки по i
                     int Lgran_j=j-4,Rgran_j=j+4; // Границы для проверки по j
                     int k=0;                     // Счетчик определяющий победу
                     
 
                    
                         for(Vgran_i,Lgran_j;Vgran_i<=Ngran_i && Lgran_j<=Rgran_j;Vgran_i++,Lgran_j++)
                         {
                             if(Vgran_i>0 && Ngran_i<16 && Lgran_j>0 && Rgran_j<16)
                             {
                               if(POLE[i][j]==POLE[Vgran_i][Lgran_j])
                                k++;
                               else k=0;
                               if(k==5)
                                 {
                                   cout<<"Plaeyr1 WIN";
                                   getch();exit(2);
                                 }
                             }
                        }
 
    //ПРоверка по побочной диагонали ======================================================
                        for(Vgran_i,Rgran_j;Vgran_i<=Ngran_i && Lgran_j<=Rgran_j; Vgran_i++,Rgran_j--  )
                        {   
 
                            if(Vgran_i>0 && Ngran_i<16 && Lgran_j>0 && Rgran_j<16)
                            {
                                if(POLE[i][j]==POLE[Vgran_i][Rgran_j])
                                  k++;
                                else k=0;
                                
                                if(k==5)
                                 {
                                   cout<<"Plaeyr1 WIN";
                                   getch();exit(2);
                                 }
                            }
                        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2011, 13:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает проверка по побочной диагонали! (C++):

Проверка матрицы на симетричность относительно побочной диагонали - C++
проверка матрици на симетричность относительно побочной диагонали?

Проверить утверждение: сумма элементов выше побочной диагонали больше суммы элементов ниже побочной диагонали - C++
дана квадратная матрица натуральных чисел получаемая через rand.определить,верно ли утверждение: сумма элементов выше подобной диагонали...

Разместить на побочной диагонали матрицы суммы элементов, которые лежат на диагоналях, перпендикулярных к побочной. - C++
суть задачи : Заполнить матрицу случайными числами. Разместить на побочной диагонали суммы элементов, которые лежат на диагоналях,...

Среди элементов ниже побочной диагонали, найти количество меньших, чем любой элемент над побочной диагональю - C++
Совсем не могу понять, на что ругается компилятор и что здесь не так. Вот задача: Дана матрица размером NxN. Среди элементов,...

Обменять элементы массива на главной диагонали с элементами на побочной диагонали - C++
Всем привет. Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100. Обменять местами...

Найти минимум среди сумм элементов диагонали матрицы, параллельных побочной диагонали - C++
Пожалуйста, помогите решить задачку Дана целочисленная прямоугольная матрица. определить: 1) колво строк, не содержащих ни одного...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2011, 13:52
Привет! Вот еще темы с ответами:

Найти сумму элементов каждой диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1) - C++
Matrix83. Дана квадратная матрица A порядка M. Найти сумму элементов каж- дой ее диагонали, параллельной побочной (начиная с одноэлементной...

Найти произведение максимального элемента главной диагонали на минимальный элемент побочной диагонали - C++
Всем привет! Мастера помогите доделать задание с матрицой. Вот само задание: Найти произведение максимального элемента главной...

Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали - C++
Доброго времени суток. Имеется задача: Дан вещественный массив А. Заменить каждый нулевой элемент главной диагонали максимальным...

Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали - C++
дан массив А. Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали! Подсчитать кол-во нулевых...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru