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

Крестики нолики - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ mysql импорт http://www.cyberforum.ru/cpp-beginners/thread831185.html
Подскажите, как правильно сделать импорт sql в бд test? функция чтения файла: int main() { fstream file("sql.sql",ios::in); string text_str; if(!file) { cout<<"File could not be opened!";
C++ Программа по поиску суффиксов у прилагательных Даны прилагательные с суффиксами (1) -н(ый), (2) -ни(ий), (3) -шн(ый), (4) -шн(ий); нужно составить программу по схеме: 1.ввод прилагательного; 2.выделение суффикса; 3.сравнение суффикса прилагательного с группами. 4.присваивание прилагательному одной из четырех групп. 5.вывод сообщения с номером группы. можете помочь с написанием программы. http://www.cyberforum.ru/cpp-beginners/thread831170.html
C++ Структуры.Сортировка по именам
Здравствуйте,столкнулся с проблемой,как отсортировать имена в алфавитном порядке,ни разу не сталкивался,не знаю как начать,помогите пожалуйста. #include <iostream> #include <stdio.h> using namespace std; struct student {char fio; int ball_physics; int ball_rus; int ball_math; }; int main()
Fatal error C1014: слишком много включаемых файлов C++
вот код, пишет что "1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(2) : fatal error C1014: слишком много включаемых файлов: глубина = 1024" #include <iostream> #include <math.h> double p,q,r,T1,T2,S1,S2,n,h,Int,R4; double I(double t) { return pow(p*pow(t,2)+q*t+r,2); }
C++ правильная перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread831117.html
Доброго времени суток. Я пишу класс матриц для себя. Возникла проблема при перегрузке операторов. Что должен возвращать оператор + и как это совместить с оператором = ? В моем коде запись c=a+b;(где c,a,b-переменные типа матрицы) работать не будет, потому что оператор + возвращает значение,а оператор = принимает ссылку. Как избежать этой проблемы? Вот код: class matrix { public:...
C++ Заголовочный файл и функции до определения Нужна небольшая помощь. Делаю лабораторную и столкнулся в небольшой проблемой. Задание : // Напишите функцию вычисления произведения двух целых чисел. Перегрузите функцию для работы с тремя и четырьмя целыми числами и числами с плавающей точкой. Вынести объявления функций в отдельный заголовочный файл и использовать функции до их определения. Продемонстрировать в программе работу всех... подробнее

Показать сообщение отдельно
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 17:46     Крестики нолики
Может вам поможет.
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
#include <stdio.h>
#include <stdlib.h>
#include<clocale>
char matrix[3][3];  /* матрица игры */
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_computer_move(void);
void disp_matrix(void);
int main(void)
{
  setlocale(LC_CTYPE,"Russian");  
  char done;
  printf("Это игра в крестики-нолики.\n");
  printf("Вы будете играть против компьютера.\n");
  done =  ' ';
  init_matrix();
  do {
    disp_matrix();
    get_player_move();
    done = check(); /* проверка, есть ли победитель */
    if(done!= ' ') break; /* есть победитель */
    get_computer_move();
    done = check(); /* проверка, есть ли победитель */
  } while(done== ' ');
  if(done=='X') printf("Вы победили!\n");
  else printf("Победил компьютер!!!!\n");
  disp_matrix(); /* показ финальной позиции */
  system("pause");
  return 0;
}
/* Инициализация матрицы игры. */
void init_matrix(void)
{
  int i, j;
 
  for(i=0; i<3; i++)
    for(j=0; j<3; j++) matrix[i][j] =  ' ';
}
/* Ход игрока. */
void get_player_move(void)
{
  int x, y;
  printf("Введите координаты X,Y Вашего хода: ");
  scanf("%d%*c%d", &x, &y);
  x--; y--;
 
  if(matrix[x][y]!= ' '){
    printf("Неверный ход, попытайтесь еще.\n");
    get_player_move();
  }
  else matrix[x][y] = 'X';
}
 
/* Ход компьютера. */
void get_computer_move(void)
{
  int i, j;
  for(i=0; i<3; i++){
    for(j=0; j<3; j++)
      if(matrix[i][j]==' ') break;
    if(matrix[i][j]==' ') break;
  /* Второй break нужен для выхода из цикла по i */
  }
 
  if(i*j==9)  {
    printf("Конец игры\n");
    exit(0);
  }
  else
    matrix[i][j] = '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 i;
  for(i=0; i<3; i++)  /* проверка строк */
    if(matrix[i][0]==matrix[i][1] &&
       matrix[i][0]==matrix[i][2]) return matrix[i][0];
  for(i=0; i<3; i++)  /* проверка столбцов */
    if(matrix[0][i]==matrix[1][i] &&
       matrix[0][i]==matrix[2][i]) return matrix[0][i];
  /* проверка диагоналей */
  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 ' ';
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru