Форум программистов, компьютерный форум 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
15.04.2013, 05:20  [ТС]     программный код по ШАхматам С++
Вот так вот Компилирует и работает)

C++ (Qt)
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include<iostream>
#include<string>
#include <vector>
 
struct coord
{
    int x,y;
 
};
//--------------------------------------------------
class Figura
{
public:
    void doska(void);
    void scan(coord &f);
    int checkpos(int x,int y);
    int checkmove(int x,int 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 Figura::doska(void) //Постороение доски
{
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 Figura:: scan(coord &f)
{
    char t=0;
    cin>>t;
    f.y=t-0;
    cin>>f.x;
    f.x--;
    cout<<f.x<<f.y<<endl;
}
//--------------------------------------------------
int Figura::checkpos(int x,int y)
{
    if(x>=0 && x<8 && y>=0 && y<8) return 1;
    else return 0;
}
//--------------------------------------------------
int Figura::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()
{
    Figura doska;
    int check,mat;
    coord b_king;
    coord b_knigth;
    coord b_bishop;
    coord w_king;
    check=0;
    mat=1;
doska.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-1][b_king.y-1]='k';
doska.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-1][b_knigth.y-1]='h';
doska.  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-1][b_bishop.y-1]='s';
    doska.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-1][w_king.y-1]='K';
    doska.doska();
    if (doska.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(doska.checkpos(i,j)==0) continue;
        if (doska.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;
 
system("pause");
 
}
Спасибо за советы) Но все же программа не полность реализована(

Добавлено через 4 минуты
Самому трудно разобраться в своих ошибках(

Добавлено через 6 минут
abit, Мне уже не удобно вас о чем либо просить.
Но все же не могли бы подсказать как в этой программе реализовать ввод ввиде (A 1, B 2 и т.д.)?
 
Текущее время: 07:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru