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

Конь. - C++

Восстановить пароль Регистрация
 
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
21.02.2011, 18:17     Конь. #1
Здравствуйте! Опять обращаюсь за помощью, раньше уже обращался поп поводу этой задачи. Я сделал задачу про путешестиве коня более упрощенную версию. Конь просто ходит по доске и считается кол-во ходов коня. Мне нужноулучшить задачу таким образом: если конь вышел за границы доски, то доску не перепечатывать и писать "НЕВОЗМОЖНО СДЕЛАТЬ ХОД ВВЕДИТЕ ДРУГОЕ ЧИСЛО"
ход считаться не должен.

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
// Путешествие коня2.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{   // ПУТЕШЕСТВИЕ КОНЯ УПРОЩЕННАЯ ВЕРСИЯ ГУРЬЕВ ИЛЬЯ С-22
    setlocale (LC_ALL,"rus");
    const int size=8;
    const int size2=8;
    int turn=0;
    int x=0;
    int y=0;
    int k1=0;
    int k2=0;
    int h;
    int n=0;
    int troy [size][size2];
    
    for (int i=0;i<size;i++)
    {   cout <<endl;
        for (int r=0;r<size2;r++)
        troy[i][r]=-1;
    }
    
    troy[k1][k2]=0;
    do {
    for (int i=0;i<size;i++)
    {for (int r=0;r<size2;r++)
            if(troy[i][r]==-1)
                cout <<setw(4)<<"* ";
            else
                cout <<setw(4)<<troy[i][r];
            cout <<endl;            
            
            
            
            
        }
 
    
    cout <<"Введите номер хода от 1 до 8 (0 для выхода) "<<"  ";
    cin >>n;
    cout<<endl;
 
        
    if (n==1)
    {
        x=2;
        y=1;
        h=1;
 
    }
    else if (n==2)
    {
        x=1;
        y=-2;
        h=3;
    }
    else if (n==3)
    {
        x=-1;
        y=-2;
        h=1;
    }
    else if (n==4)
    {
        x=-2;
        y=-1;
        h=3;
    }
    else if (n==5)
    {
        x=-2;
        y=1;
        h=-1;
    }
    else if (n==6)
    {
        x=-1;
        y=2;
        h=-3;
    }
    else if (n==7)
    {
        x=1;
        y=2;
        h=-1;
    }
    else if (n==8)
    {
        x=2;
        y=1;
        h=-3;
    }
 
        
        if (n!=0)
        {
        if(k1>-1 && k1<8 && k2>-1 && k2<8 && n!=0) 
        {
            troy[k1+=x][k2+=y]=++turn;
            
        }
          else
        {
            cout <<"Поробуйте ещё раз номер хода от 1 до 8 (0 для выхода) "<<"  ";
            cin >>n;
        }
 
        
            
            
        
        
    }
    else 
    {
        cout <<"|||||| ";
    }
    
    }while (k1>-1 && k1<8 && k2>-1 && k2<8 && n>=1 && n<=8);
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2011, 18:17     Конь.
Посмотрите здесь:

C++ За сколько ходов конь переместиться в указанные координаты
Определить поля, на которые может пройти белый конь C++
C++ Шахмотный конь
C++ Бьет ли конь пешку?
C++ Может ли шахматный конь перейти в указанную клетку доски?
C++ Волновой алгоритм (шахматы, конь)
C++ Шахматы, конь
Требуется определить, бьет ли конь C++
Конструктор и классы. Предметная область: «Конь на шахматной доске» C++
Шахматная фигура конь C++
Угрожает ли конь, стоящий на поле (k, l), полю (m, n) C++
Проверить не угрожает ли данный шахматный конь заданному полю C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
22.02.2011, 21:08  [ТС]     Конь. #2
Где все то?!
tomaticus
 Аватар для tomaticus
47 / 47 / 2
Регистрация: 02.01.2011
Сообщений: 505
22.02.2011, 21:21     Конь. #3
ты посмотри просмотры этого поста,если много значит ни кто не знает ответа.
Yandex
Объявления
22.02.2011, 21:21     Конь.
Ответ Создать тему
Опции темы

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