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

программный код по ШАхматам С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ получить гистограмму (столбчатую диаграмму) длин всех слов файла ; http://www.cyberforum.ru/cpp-beginners/thread837314.html
Добрый день,помогите пожалуйста с программой. Дан символьный файл . Считая, что количество символов в слове не превосходит двадцати: 1)определить, сколько в файле имеется слов, состоящих из одного, двух, трех и т. д. символов 2)определить количество слов в файле . 3)получить гистограмму (столбчатую диаграмму) длин всех слов файла ;(я попытался сделать). Помогите добавить первый и...
C++ Выделить память под динамический массив указателей Нужно выделить память вот под такое дело. Для примера n=5 . Ничего нагуглить так и не смог :( что есть : #include "stdafx.h" #include <iostream> #include "locale" using namespace std; int i,j; int zna4; // ввод значение ячейки при заполнении http://www.cyberforum.ru/cpp-beginners/thread837308.html
метод find не находит значение в контейнере C++
итак Каждая строка текстового файла DATA.TXT содержит информацию о городе, названии отеля и количестве звезд, присвоенном этому отелю. Данные разделены точкой с запятой, все остальные символы являются частью данных. Все строки различны, однако никакой сортировки нет. Необходимо прочитать данные из файла в контейнер вида map < город, vector <pair <название_отеля, количество_звезд> > > После...
Кто читал книги Г. Шилдта, отзовитесь C++
Вообщем случайно забрел в книжный и там купил "Полный справочник по С++ Г. Шилдт". Пришел домой решил почитать мнения людей о этой книге, я был в шоке что все так против Шилдта. Так вот вопрос действительно по этому справочнику не получиться учить язык? PS Основы языка знаю (где-то на 6 по 10-ти бальной шкале):)Форум пролистал вроде такой темы не было.Заранее спасибо!
C++ Генератор рандомных чисел! Заполнение массива http://www.cyberforum.ru/cpp-beginners/thread837273.html
Еще раз здравствуйте, я запускаю вот этот код (без точек останова): a=0; int rndm=0; while(a!=3) { srand(time(NULL)); rndm=rand()%100; speedm=rndm; cout<<"RANDOM="<<speedm<<endl; a++; }
C++ Чтобы считало и запомнило, но в консоль не вывело (есть аналог из класса string?) Привет парни! Раньше использовал связку: getch(ch); if (ololo) putch(ch); else .... Теперь пришло время С++. Есть ли аналог такой связки в С++ (в классе string)? А то ради такой мелочи подключать целую библиотеку conio.h - не дело... подробнее

Показать сообщение отдельно
Leven9tko
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 19
14.04.2013, 12:36     программный код по ШАхматам С++
Прошу помочь с программным кодом по шахматам подсказать что изменить или что добавить.
Мне была дана задача сделать класс матрицы игры в шахматы:
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include<iostream.h>
#include<string.h>
struct coord
{
    int x,y;
 
};
char mas[8][8]={0};
int cntl(coord f)
{
    if((f.x>=0)&&(f.x<8)&&(f.y>=0)&&(f.y<8)) return 1;
    else return 0;
}
void doska()
{
    char a[8]={'A','B','C','D','E','F','G','H'};
    cout<<"   ";
    for(int i=0;i<8;i++) cout<<a[i]<<" ";
    cout<<endl;
    cout<<"   ";
    for( i=0;i<8;i++) cout<<"- ";
    cout<<endl;
    for( i=0;i<8;i++)
    {
        cout<<"| "<<i+1;
        for(int j=0;j<8;j++) cout<<mas[i][j]<<" ";
        cout<<endl;
    }
 
}
void scan(coord &f)
{
    char t=0;
    cin>>t;
    f.y=t-0;
    cin>>f.x;
    f.x--;
    cout<<f.x<<f.y<<endl;
}
int checkpos(int x,int y)
{
    if(x>=0 && x<8 && y>=0 && y<8) return 1;
    else return 0;
}
int checkmove(int x,int y)
{
    int h_x[8]={-2,-2,-1,-1,1,1,2,2};
    int h_y[8]={-1,1,-2,2,-2,2,-1,1};
    for (int i=x-1;i<x+2;i++)
    {
        for(int j=y-1;j<y+2;j++)
        {
            if(i== x && j==y) continue;
            if(checkpos(i,j)==0) continue;
            if(mas[i][j]=='k') return 1;
    
        };
    };
    for (i=1; i<8;i++)
    {
        if(checkpos(x+i,y+i)==1)
            if (mas[x+i][y+i]=='s') return 1;
        if(checkpos(x-i,y-i)==1)
            if (mas[x-i][y-i]=='s') return 1;
        if(checkpos(x-i,y+i)==1)
            if (mas[x-i][y+i]=='s') return 1;
        if(checkpos(x+i,y-i)==1)
            if (mas[x+i][y-i]=='s') return 1;
    };
    for (i=1; i<8;i++)
    {       if(checkpos(x+h_x[i],y+h_y[i])==0) continue;
            if (mas[x+h_x[i]][y+h_y[i]]=='h') return 1;
    };
    return 0;
 
}
 
void main()
{
    int check,mat;
    coord b_king;
    coord b_knigth;
    coord b_bishop;
    coord w_king;
    check=0;
    mat=1;
    doska();
m1: cout<<"vvedite mestopolozhenie korol9:  \n";
//  cin>>Êîðîëü Г·ГҐГ°Г*ûõ;
    cin>>b_king.x;
    cin>>b_king.y;
    if(!cntl(b_king)) goto m1;
    mas[b_king.x][b_king.y]='k';
    doska();
m2: cout<<"vvedite mestopolozhenie korolevu:  \n";
//  cin>>ÊîðîëåâГ* Г·ГҐГ°Г*ûõ;
    cin>>b_knigth.x;
    cin>>b_knigth.y;
    if(!cntl(b_knigth)) goto m2;
    mas[b_knigth.x][b_knigth.y]='h';
    doska();
m3: cout<<"vvedite coord b_bishop:  ";
//  cin>>Îôèöåð Г·ГҐГ°Г*ûõ;
    cin>>b_bishop.x;
    cin>>b_bishop.y;
    if(!cntl(b_bishop)) goto m3;
    mas[b_bishop.x][b_bishop.y]='s';
    doska();
m4: cout<<"vvedite coord w_king:  ";
//  cin>>Êîðîëü áåëûõ;
    cin>>w_king.x;
    cin>>w_king.y;
    if(!cntl(w_king)) goto m4;
    mas[w_king.x][w_king.y]='K';
    doska();
if (checkmove(w_king.x,w_king.y)==1) check=1;
for(int i=w_king.x-1;i<w_king.x+2;i++)
{
    for(int j=w_king.y-1; j<w_king.y+2;j++)
    {
        if(i==w_king.x && i==w_king.y) continue;
        if(checkpos(i,j)==0) continue;
        if (checkmove(i,j)) mat=0;
    };
};
{if (check==0 && mat==0)
cout<<"obichanaya pozicia"<<endl;
if (check==0 && mat==1)
cout<<"patovaya pozicia"<<endl;
if (check==1 && mat==0)
cout<<"shahovaya pozicia"<<endl;
if (check==1 && mat==1)
cout<<"matovaya pozicia"<<endl;
}
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru