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

Перевод кода с Си на C++

09.03.2020, 15:08. Показов 972. Ответов 1
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <stdio.h>
#include <stdlib.h>
 
/* простая программа игры в крестики-нолики */
#define SPACE ' '
char matrix[3][3] = { /* матрица для крестиков-ноликов */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
} ;
void get_computer_move(void), get_player_move(void);
void disp_matrix(void);
char check (void);
int main()
{
char done;
printf("This is the game of Tic-Tac-Toe.\n");
printf("You will be playing against the computer.\n");
done = SPACE;
do {
disp_matrix(); /* вывод игровой доски */
get_player_move(); /* ходит игрок */
done = check(); /* проверка на победу */
if (done!=SPACE) break; /* победитель */
get_computer_move(); /* ходит компьютер */
done=check(); /* проверка на победу */
} while(done==SPACE);
if(done=='X') printf("You won!\n");
else printf("I won!!!!\n");
disp_matrix(); /* отображение результирующего положения */
return 0;
}
 
/* ввод хода игрока */
void get_player_move(void)
{
int x, у;
printf("Enter coordinates for your X.\n");
printf("Row? ");
scanf ("%d", &x);
printf("Column? ");
scanf("%d", &y);
х--; y--;
if (x<0 || y<0 || x>2 || y>2 || matrix[x] [y] !=SPACE)
{
printf("Invalid move, try again.\n");
get_player_move();
}
else matrix[x][y]='X';
}
 
/* ход компьютера */
void get_computer_move(void)
{
register int t;
char *p;
p = (char *) matrix;
for (t=0; *p!=SPACE && t<9; ++t) p++;
if(t==9)
{
printf("draw\n");
exit(0); /* game over */
}
else *p = 'O';
}
 
/* отображение игровой доски */
void disp_matrix(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++) { /* проверка строк */
p = &matrix[t] [0];
if (*p==* (p+1) && * (p+1)==*(p+2)) return *p;
}
for(t=0; t<3; t++) { /* проверка столбцов */
p = &matrix[0][t];
if(*p==*(p+3) && *(p+3)==*(p+6)) return *p;
}
 
/* проверка диагоналей */
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
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2020, 15:08
Ответы с готовыми решениями:

Перевод кода с Паскаля (перевод в метры)
var a,b,d:integer; c,e:real; begin writeln('1-дециметр 2-километр'); writeln('3-метр ...

Перевод кода с С++ на Си
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; int main() { clrscr(); int x,i,d; i = 2; ...

Перевод кода на VB 6.0
Форумчане переведите пожалуйста на вб этот код написанный наверное в паскале(!) Код взят из...

Перевод кода из C в C#
Можете пожалуйста помочь перевести данный код на языке С в C#? extern unsigned long long...

1
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
09.03.2020, 15:48 2
Лучший ответ Сообщение было отмечено Maloznal как решение

Решение

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
114
115
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
/* простая программа игры в крестики-нолики */
#define SPACE ' '
char matrix[3][3] = { /* матрица для крестиков-ноликов */
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE},
{SPACE, SPACE, SPACE}
};
 
void get_computer_move(void), get_player_move(void);
void disp_matrix(void);
char check(void);
 
int main()
{
char done;
cout << "This is the game \"Krestiki-Noliki\".\n";
cout << "You will be playing against the computer.\n";
done = SPACE;
 
do{
disp_matrix(); /* вывод игровой доски */
get_player_move(); /* ходит игрок */
done = check(); /* проверка на победу */
if(done != SPACE)
    break; /* победитель */
get_computer_move(); /* ходит компьютер */
done = check(); /* проверка на победу */
}while(done == SPACE);
 
if(done == 'X')
    cout << "You WIN!\n";
else
    cout << "I WIN!!!!\n";
disp_matrix(); /* отображение результирующего положения */
return 0;
}
 
/* ввод хода игрока */
void get_player_move(void)
{
int x, y;
cout << "Enter coordinates for your X.\n";
cout << "Row? ";
cin >> x;
cout << "Column? ";
cin >> y;
x--;
y--;
if(x<0 || y<0 || x>2 || y>2 || matrix[x][y]!=SPACE)
{
    cout << "Invalid move, try again.\n";
    get_player_move();
}
else
    matrix[x][y]='X';
}
 
/* ход компьютера */
void get_computer_move(void)
{
register int t;
char *p;
p = (char *) matrix;
for(t=0; *p!=SPACE && t<9; ++t)
    p++;
if(t == 9)
{
    cout << "draw\n";
    exit(0); /* game over */
}
else
    *p = 'O';
}
 
/* отображение игровой доски */
void disp_matrix(void)
{
int t;
for(t=0; t<3; t++)
{
cout << " " << matrix[t][0] << "| " << matrix[t][1] << "| " << matrix[t][2];
if(t!=2)
    cout << "\n--|--|--\n";
}
cout << "\n";
}
 
/* проверка на победу */
char check(void)
{
int t;
char *p;
for(t=0; t<3; t++) { /* проверка строк */
    p = &matrix[t] [0];
if(*p == *(p+1) && *(p+1) == *(p+2))
    return *p;
}
for(t=0; t<3; t++) { /* проверка столбцов */
    p = &matrix[0][t];
if(*p == *(p+3) && *(p+3) == *(p+6))
    return *p;
}
 
/* проверка диагоналей */
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
09.03.2020, 15:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2020, 15:48
Помогаю со студенческими работами здесь

С++ -> C# (перевод кода)
Здравствуйте, я новичок на этом форуме, но попрошу помочь перевести эти 6 строк кода на C#....

Перевод кода из С++ в С#
Доброго времени суток! Пытаюсь код на C++ на C# перевести, вроде получилось, но не выходит. ...

Перевод кода на С#
Здравствуйте,очень нужна помощь в переводе кода из С++ на С# Вот условие самой задачи: Структура...

Перевод кода C#->C++
Здравствуйте. Подскажите, пожалуйста, как корректно преобразовать код в C++/CLI. public struct...

Перевод кода из C++ в Си
Вот собственно код, пытался переводить самостоятельно, но выходит не такое приложение, как на С++...

Перевод кода из c в c++
Помогите перевести код из c в c++ строки 86,239,403 выдают одну и туже ошибку... #include...


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

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