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

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

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

Проверьте ошибки пожалуйста в коде - C++

03.03.2013, 02:23. Просмотров 352. Ответов 2
Метки нет (Все метки)

Всем Доброго времени суток. Написал программу крестики нолики. Она ,что та не работает поможете?



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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
void main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        void ShowField();
        void TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x, у;
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
х--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(void){
int t;
for(t=0; t<3; t++)
{
printf(" %c | %c | %c", matrix[t][0], matrix[t][1], matrix[t][2]);
if(t!=2) printf("\n-|-|-\n");
}
printf("\n");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
if(matrix[0] [0]==matrix [1] [1] && matrix[1] [1]==matrix [2] [2] )
return matrix[0][0];
if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2] [0])
return matrix[0][2];
return SPACE;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 02:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверьте ошибки пожалуйста в коде (C++):

Пожалуйста, проверьте, есть ли ошибки в приведённом куске кода. - C++
... unsigned short many = 10, people = 5; unsigned long int peep = 5, zood = 3; const unsigned long int peep = 10; ...

Исправьте,пожалуйста, ошибки в коде :) - C++
Не пойму почему всё горит красным. Я не подключил библиотеку какую-то?Если нет,то в чём ошибке? Исправьте,пожалуйста. Спасибо! ...

Помогите, пожалуйста, исправить ошибки в коде - C++
const int n=20; int b; int i,j,c; for (i=1;i&gt;n,i++) { c=a; for(j=i-1;j&gt;=0&amp;&amp;a&gt;c;j--) a=a; a=c; }

Пожалуйста, нужно найти ошибки в этом коде, нужно сделать в Codeblocks! - C++
Задание было такое:Написать программу для работы с одномерным массивом размера N (0 &lt; N &lt; 100). В начале работы программы предложить...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

2
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
03.03.2013, 02:39 #2
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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
int main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        ShowField(); //void не надо здесь. выше Вы уже описали прототип функции (при объявлении она не вызывается)
        TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x,y; //здесь были русские буквы х и у
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
x--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(void){
int t;
for(t=0; t<3; t++)
{
printf(" %c | %c | %c", matrix[t][0], matrix[t][1], matrix[t][2]);
if(t!=2) printf("\n-|-|-\n");
}
printf("\n");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
if(matrix[0] [0]==matrix [1] [1] && matrix[1] [1]==matrix [2] [2] )
return matrix[0][0];
if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2] [0])
return matrix[0][2];
return SPACE;
}
код запускается, хотя вывод немного некрасив и ИИ похоже пока еще отсутствует
1
Ibook
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 59
03.03.2013, 02:50  [ТС] #3
1>------ Построение начато: проект: 3, Конфигурация: Debug Win32 ------
1>Build started 03.03.2013 0:14:00.
1>InitializeBuildStatus:
1> Touching "Debug\3.unsuccessfulbuild".
1>ClCompile:
1> kres.cpp
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(45): error C2562: main: функция типа "void", возвращающая значение
1> c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(28): см. объявление "main"
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(55): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(56): error C2065: х: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(56): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(57): error C2065: y: необъявленный идентификатор
1>c:\users\amaisa\documents\visual studio 2010\projects\3\3\kres.cpp(62): error C2065: y: необъявленный идентификатор
1>
1>СБОЙ построения.
1>
1>Time Elapsed 00:00:03.22
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Добавлено через 50 секунд
Я работаю в программа Visual STUDIO Почему у меня она ругается?

Добавлено через 2 минуты
Цитата Сообщение от Черный ворон Посмотреть сообщение
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
#include<Windows.h>
#include<iostream>
#include<iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include<conio.h>
#define SPACE ' '
 
 
char matrix[3][3] = { /* matrica dla krestikov i nolikov */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
 
 
 
void ShowField(void);//pokozat pola igrovoe
void TurnPlayer(void);//xod igroka
void TurnComputer(void);//xod computera
char check(void);// voz 1-contie 0 to net
 
using namespace std;
 
 
 
int main(){
    setlocale(LC_ALL, "rus");   
    char done;
    printf("This  is the game of    Krestiki-Noliki:\n");
    printf("You will be playing against the computer.\n");
    done=SPACE;
    do{
        ShowField(); //void не надо здесь. выше Вы уже описали прототип функции (при объявлении она не вызывается)
        TurnPlayer();
        done = check();//proverka na popedu
        if (done!=SPACE) break;//popeda
         void TurnComputer();
             done=check();
    }
     while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
void ShowField(); 
return 0;
}
 
void TurnPlayer()// xod igroka i vivod 
{
    int x,y; //здесь были русские буквы х и у
printf("Enter coordinates for your X.\n");
printf("Stroka? ");
scanf ("%d", &x);
printf("Kolonka? ");
scanf("%d", &y);
x--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Neverni put probyite eshe.\n");
 TurnPlayer();
 }
else matrix[x][y]='X';
}
 
 
void TurnComputer(void)// xod computera i vivivod 
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("risovat\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
 
void ShowField(void){
int t;
for(t=0; t<3; t++)
{
printf(" %c | %c | %c", matrix[t][0], matrix[t][1], matrix[t][2]);
if(t!=2) printf("\n-|-|-\n");
}
printf("\n");
}
 
 
char check(void){
int t;
char *p;
for(t=0; t<3; t++) { /* proverka stork */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* proverka stolbcov */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* proverka diagonalei */
if(matrix[0] [0]==matrix [1] [1] && matrix[1] [1]==matrix [2] [2] )
return matrix[0][0];
if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2] [0])
return matrix[0][2];
return SPACE;
}
код запускается, хотя вывод немного некрасив и ИИ похоже пока еще отсутствует



Спасибо друг огромное))))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 02:50
Привет! Вот еще темы с ответами:

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

у меня ошибка в коде проверьте!!! - C++
Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы 1) произведения элементов в тех строках,...

проверьте что не так в коде? - C++
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; int main() { int i,j,n=9; int a; srand(time(NULL)); ...

проверьте на ошибки - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; int main(){ char z; ...


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

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

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