08.04.2013, 07:24. Просмотров 932. Ответов 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| #include "stdafx.h"
#include <iostream>
#include <fstream>
#include "math.h"
using namespace std;
int main()
{
int q,k,i,j,n,n1,e;
int a[3][3];
k=-1;
q=1;
e=1;
for (i=2;i>=0;i--)//двумерный массив из элементов num pad
for (j=0;j<3;j++)
{ a[i][j]=q;
q=q+1;
}
for (i=0;i<3;i++)//вывод массива
{
for (j=0;j<3;j++)
cout<<a[i][j];
cout<<'\n';
}
while (e=1)//пока есть ходы
{
cout<<"vvedite adress hoda";
cin>>n;
for (i=0;i<3;i++)//заполнение массива Х и О Х=-1 О=0
for (j=0;j<3;j++)
if (n==a[i][j])
{ if (k==-1)
{ a[i][j]=-1;
k=0;
}
else
{ a[i][j]=0;
k=-1;
}
}
for (i=0;i<3;i++)//проверка по строкам
{ j=1;
if (a[i][j]==a[i][j+1]==a[i][j-1])
{ e=0;
cout<<"igra okonchena"<<'\n';
}
}
for (j=0;j<3;j++)//проверка по столбцам
{ i=1;
if (a[i-1][j]==a[i][j]==a[i+1][j])
{ e=0;
cout<<"igra okonchena"<<'\n';
}
}
i=1;
j=1;//проверка по диагоналям
if (a[i][j]==a[i+1][j+1]==a[i-1][j-1])
{ e=0;
cout<<"igra okonchena"<<'\n';
}
if (a[i-1][j+1]==a[i][j]==a[i+1][j-1])
{ e=0;
cout<<"igra okonchena"<<'\n';
}
}
} |
|