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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
profan_Artem
4 / 4 / 0
Регистрация: 17.02.2009
Сообщений: 18
#1

Траектория движения черепахи - C++

13.03.2009, 20:03. Просмотров 1801. Ответов 3
Метки нет (Все метки)

всем здрасти,
вопрос первый как правильно размещать сдесь код, в редакторе сообщений выбираю с++????
вопрос второй есть задача о построениии траектории черепахи может кто встечал.
Нужно что бы она реагировала на команды следующим образом:
1 - перо вниз, т.е пишем
2 - перо вверх
3 - поворот направо
4 - поворот налево
5. х - перейти на х шагов
Input 6 - печать
Input 9 - выход,

к примеру код 1, 5.12, 3. 5.12. 3 5.12 3 5.12 2. 6 9 - напечатает квадрат,
вообщем она должа выводить. всякого рода фигурки

вот код той части которую я понимаю,

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
#include <iostream.h>
 
int movePosition(int[][20], int[][20], int, int);
void printArr( int [][20]);
 
int main()
{   
    const int n =20, m =20;  
    char comand;
    int floor[n][m] = { 0 }, currentRecord [n][m] = { 0 };
    int pen = 0, turn = 0;
    
    
    cout<< "innput comand to turtle : ";
        
    while ((comand = cin.get()) != '9' ){   
        
       switch (comand){
 
       case '1':        // перо вниз
            pen = 1;
            break;
        
        case '2':       // перо вверх
            pen = 0;
            break;
          
        case '3':        // поворот влево
            if (turn != 0)
                cout<<"you can't put turn twice, you have already choose one "<< endl;
            else
                turn = 1
                break;
        
        case '4':          // поворот вправо
            if (turn != 0)
                cout<<"you can't put turn twice, you have already choose one "<< endl;
                break;
            else
                turn = -1;
                break;
           
        case '5':
            movePosition (floor, turn, pen);
            turn = 0;                        // обнуление поворота
            break;
        
        case '6':       // печать массива
            
            printArr(floor);
            break;
                 
        case '\n': // метки для cin.get - читает по одному символу,ввод тоже символ!!!
        case ' ':
        case '\t':
                 break;
            
        default:
            cout<< "you wrong, input correct data "<<endl;
            break;
       
       }
    }
 
        cout<< "innput comand to turtle : ";
 
return 0;
 
}
 
void movePosition( int a[][20], int turn, int wr)
{   
    int i= 0, j = 0;
    int shift = 0; // смещение
    static int storeC = 0 store_i = 0, store_j = 0; 
 
    cout<< "input shift : ";
    cin>> shift;
 
    if ( wr == 1 ){     // пишем
        if( turn == 0)   // без поворотов
            {      
            for( j = storeC; j < shift; j++)
                   a[ i ][ j ] = 9;
            storeC = j; 
            }
            
        else
а вот сдесь тупик!!!!!!
C++
1
2
3
4
5
6
7
8
9
void printArr(int a[][20])
{
    for ( int i = 0; i < 20; i++){
        for ( int k = 0; k < 20; k++)
            if( a[i][k] > 0)
            cout<< a[i][k];
        
            cout<< endl;}
}
помогите плиз кто чем может, зарание благодарю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2009, 20:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Траектория движения черепахи (C++):

Язык Лого ( Траектория черепахи) - C++
Привет Всем, это сного я с &quot;чудными&quot; вопросами :) Задача (Траектории черепахи) Язык Лого, особенно популярный среди пользователей...

Траектория движения мыши - C++
Вообщем такая проблемка.Мне нужно по заданию,при движении курсора,рисовалась линия(траектория) и по нажатию горячей клавиши с клавиатуры...

Картинка и траектория её движения - C++
Доброго всем времени. Я столкнулся с проблемой. Суть её заключается что мне на экране нужно двигать картинку по координатам x, y: ...

Траектория движения фигуры - C++
Подскажите,пожалуйста, нужно написать алгоритм программы, кторая задает определенную границу, за которую нельзя выходить, и внутри этой...

Модель гонки черепахи и зайца (программа даже не запускается..) - C++
условие прикреплено #include &lt;iostream&gt; #include &lt;clocale&gt; #include&lt;conio.h&gt; #include &lt;STDLIB.H&gt; using std::srand; using...

Написать програму для движения мерцающего круга по эллипсу (анимация движения) - C++
Добрый день,передо мной стоит задача : Написать програму для движения мерцающего круга по эллипсу.Проблема в том,что не могу сообразить как...

3
profan_Artem
4 / 4 / 0
Регистрация: 17.02.2009
Сообщений: 18
19.03.2009, 15:48  [ТС] #2
вот почти готовая прога. компилируется но есть проблема


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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#include <iostream.h>
 
 
void movePosition(int[][20], int, int, int,  int&, int&);
void printArr( int [][20]);
 
 
 
int main()
{   
    const int n =20, m =20; 
    int  turnRight = 0, turnLeft = 0;  
    char comand;
    int floor[n][m] = { 0 };
    int pen = 0, countLeft = 0, countRight = 0;     // Г№ГҐГІГ·ГЁГЄГЁ âûçîâîâ
    int i = 0, j = 0 , &curent_i = i, &curent_j = j;// äëÿ îòñëåæèâГ*Г*ГЁГї ГІГҐГЄГіГ№ГЁГµ ГЁГ*äåêñîâ
    int compare_i = 0, compare_j = 0;               // äëÿ îïðåäåëåГ*ГЁГї ïðåäûäóùåãî ГёГ*ГЈГ*, 
    
    cout<< "innput comand to turtle : ";
        
    while ((comand = cin.get()) != '9' )
    {       
       switch (comand){
 
       case '1':        // ïåðî ГўГ*ГЁГ§
            pen = 1;
            break;
        
       case '2':       // ïåðî ââåðõ
            pen = 0;
            break;
          
       case '3':        // ïîâîðîò ГўГЇГ°Г*ГўГ®
            countRight++;
            
            if ( countRight == 1 && turnLeft == 0){// äëÿ äâèæåГ*ГЁГї  Г±Г«ГҐГўГ*-Г*Г*ГЇГ°Г*ГўГ®
                turnRight = 0;
            }
            else 
                if ( countRight == 2 && turnLeft == 0 ){  //  Г¤ГўГЁГ¦ГҐГ*ГЁГҐ ГўГ*ГЁГ§
                     turnRight = 1;
                }
                else                                       //äâèæåГ*ГЁГҐ Г±ГЇГ°Г*ГўГ*-Г*Г*ëåâî 
                    if ( countRight == 3 && turnLeft == 1 ){ 
                        turnRight = 0;
                    }
                    else 
                        if ( countRight == 4 && turnLeft == 1){ //  Г¤ГўГЁГ¦ГҐГ*ГЁГҐ ââåðõ
                            turnRight = 1;         
                        }
            break;
        
        case '4':          // ïîâîðîò âëåâî
               countLeft ++;
            
             if ( turnRight == 0  && countLeft == 1){// äâèæåГ*ГЁГҐ Г±ГЇГ°Г*ГўГ*-Г*Г*ëåâî 
                    turnLeft = 1;
                }
            else 
                if ( turnRight == 0  && countLeft == 2 ){  // äâèæåГ*ГЁГҐ  Г±Г«ГҐГўГ*-Г*Г*ГЇГ°Г*ГўГ®
                     turnLeft = 0;
                    }
                else                                       //äâèæåГ*ГЁГҐ to down 
                    if (turnRight == 1  && countLeft == 3 ){ 
                        turnLeft = 0;
                        }
                    else 
                        if ( turnRight == 1  && countLeft == 4 ){ //  Г¤ГўГЁГ¦ГҐГ*ГЁГҐ ââåðõ
                            turnLeft = 1;
                        }           
            break;
           
        case '5':
            compare_i = i;
            compare_i = j;
            if ( countRight == 0 ) // äëÿ ïåðâîãî äâèæåГ*ГЁГї, ïîâîðîòîâ ГҐГ№ГҐ Г*åáûëî
                countRight = 1;
 
            movePosition (floor, turnRight, turnLeft, pen, curent_i, curent_j);
            
 
// äåéñòâèÿ äëÿ îòñëåæèâГ*Г*ГЁГї ïðåäûäóùåé îïåðöèè, ïîäãîòîâêГ* ГґГ«Г*ãîâ äëÿ ïîñëåäóþùèã äåéñòâèé
        
                if( compare_i < i ){// äâèãГ*ëèñü ГЇГ® ñòðîêå ГўГ*ГЁГ§
                    countRight = 2;  // âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ГЇГ°Г*ГўГ®
                    turnLeft   = 1;  
                    turnRight  = 0;  // âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г* ëåâî
                        countLeft  = 1;
                    }
                         else
                             if( compare_i > i){// äâèãГ*ëèñü ГЇГ® ñòðîêå ââåðõ
                                countRight = 0; //âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ГЇГ°Г*ГўГ®
                                turnLeft   = 0;   
                                turnRight  = 1;  //âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ëåâî
                                countLeft  = 0;
                             }
                                
                if( compare_j < j ){// äâèãГ*ëèñü ГЇГ® ñòîëáöó ñëåâГ* Г*Г*ГЇГ°Г*ГўГ®
                        countRight = 1;  // âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ГЇГ°Г*ГўГ®(ГўГ*ГЁГ§)
                        turnLeft  = 0;  
                        countLeft = 3;  // ÂîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ëåâî (ââåðõ)
                        turnRight = 1;  
                    }
                        else
                         if( compare_j > j){// äâèãГ*ëèñü ГЇГ® ñòîëáöó Г±ГЇГ°Г*ГўГ* Г*Г* ëåâî
                             turnLeft  = 1; // âîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ГЇГ°Г*ГўГ®(ââåðõ)
                             countLeft = 3; 
                             countLeft = 2; //ÂîçìîæГ*îñòü ïîâåðГ*ГіГІГј Г*Г*ëåâî (ГўГ*ГЁГ§)
                             turnRight = 1;
                     }
            break;
 
        case '6':       // ГЇГҐГ·Г*ГІГј Г¬Г*Г±Г±ГЁГўГ*
            
            printArr(floor);
            break;
                 
        case '\n': // ìåòêè äëÿ cin.get - Г·ГЁГІГ*ГҐГІ ГЇГ® îäГ*îìó ñèìâîëó,ââîä òîæå ñèìâîë!!!
        case ' ':
        case '\t':
                cout<< "innput comand to turtle : ";
            break;
            
        default:
            cout<< "you wrong, input correct data "<<endl;
            break;
       
           }
    }
    
 
return 0;
 
}
 
 void movePosition( int a[][20], int turnR, int turnL, int wr, int &store_i, int &store_j)
{ 
    int i = store_i, j = store_j; 
    int shift = 0; // ñìåùåГ*ГЁГҐ
        cout<< "store_i: " << store_i << endl; 
        cout<< "store_j: " << store_j<< endl; 
    cout<< "input shift : "; 
    cin>> shift;
 
    if ( wr == 1 ){     // ГЇГЁГёГҐГ¬
        if( turnR == 0 && turnL == 0){   //  Г¤ГўГЁГ¦ГҐГ*ГЁГҐ ñëåâГ* Г*Г* ГЇГ°Г*ГўГ®   
            for( j = store_j;  j < ( store_j + shift );  j++)
                if ( store_j + shift > 20){
                
                    cout<< " you get out for array limits";
                    break;
                }
                else
                
                a[ store_i ][ j ] = 9;
                store_i = i;
                store_j = j;
        }
            
        else 
          if( turnR == 1 && turnL == 0) {  //  Г¤ГўГЁГ¦ГҐГ*ГЁГҐ ГўГ*ГЁГ§    
                for( i = store_i;  i < ( store_i + shift );  i++)
                    
                    if ( store_i + shift > 20)
                    {
                       cout<< " you get out for array limits";
                       break;
                    }
                   else 
                   
                   a[ i ][ store_j ] = 9;
                   store_i = i;
                   store_j = j;
            }
            else 
                if( turnR == 0 && turnL == 1){   //   äâèæåГ*ГЁГҐ Г±ГЇГ°Г*ГўГ*-Г*Г*ëåâî    
                    for( j = store_j;  j > ( store_j - shift );  j--)
                        if ( store_j - shift < 0)
                        {
                            cout<< " you get out for array limits";
                            break;
                        }
                        else 
                        
                        a[ i ][ store_j ] = 9;
                        store_i = i;
                        store_j = j;
                        }
                else 
                    if( turnR == 1 && turnL == 1){   //   äâèæåГ*ГЁГҐ ââåðõ   
                        for( i = store_i;  i > ( store_i - shift );  i--)
                            if ( store_i - shift < 0)
                            {
                                cout<< " you get out for array limits";
                                break;
                            }
                            else
                            a[ i ][ store_j ] = 9;
                            store_i = i;
                            store_j = j;
                            
                    }
    }
 
 }           
    
 
void printArr(int a[][20])
{
    for ( int i = 0; i < 20; i++){
        for ( int k = 0; k < 20; k++)
            if( a[i][k] > 0)
            cout<< a[i][k];
        
            cout<< endl;
    }
}

подскажите почему не запоминается ссылка??
когда печатую например квадрат 1, 5.12 , 3, 5.12, 6 заполняет строку с индексом столбца 0, а должа хранить индекс 12?????????
0
developerplus
Сообщений: n/a
02.07.2011, 15:13 #3
Задача была сведена к тому что есть 4 направления (вверх, вниз, влево, вправо) и с каждого направления, при нажатии влево/вправо, выбиралось следующее направление и в зависимости от положения пера объект перемещался оставляя за собой следы или не оставляя. Пользуйтесь кодом :cofee:

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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#include <iostream>
using namespace std;
 
void menu(void);
void turnRight(const int x, const int y, int &side);
void turnLeft(const int x, const int y, int &side);
void moveWdraw(int &x,int &y, const int side, int a[][20]);
void moveWOdraw(int &x,int &y, const int side);
 
 
int main()
{
    int a[20][20] = {0};
    int x = 0, y = 0;
    char n;
    bool path = false;
    int side = 2;
 
    cout << "Current direction: " << (unsigned char) 25 << endl;
 
    menu();
 
    while((n = cin.get()) != '9')
    {
        switch(n)
        {
            case '1':
                path = false;
                cout << "draw off" << endl;
                break;
            case '2':
                path = true;
                cout << "draw on" << endl;
                break;
            case '3':       
                turnRight(x, y, side);
                break;
            case '4':
                turnLeft(x, y, side);
                break;
            case '5':
                if(path == false)
                {
                    moveWOdraw(x, y, side);
                    cout << "move" << endl;
                }
                else if(path == true)
                {
                    moveWdraw(x, y, side, a);
                    cout << "draw" << endl;
                }
                break;
            case '6':
                cout << endl << "Traced array" << endl;
                for(int i = 0; i < 20; i++)
                {
                    for(int j = 0; j< 20; j++)
                        if (a[i][j] == 1)
                            cout << '*';
                        else
                            cout << ' ';
                    cout << endl;
                }
                break;
            case '\n':
                break;
            default:
                cout <<  "Incorrect entry!" << endl;
        }
    }   
 
    fflush(stdin);
    getchar();
    return 0;
}
 
void menu(void)
{
    cout << endl;
    cout << "1 - draw off" << endl;
    cout << "2 - draw on" << endl;
    cout << "3 - turn " << (unsigned char) 26 << endl;
    cout << "4 - turn " << (unsigned char) 27 << endl;
    cout << "5 - draw/move" << endl;
    cout << "6 - print path" << endl;
    cout << "9 - exit" << endl;
    cout << endl;
}
 
void turnRight(const int x, const int y, int &side)
{
    if(side == 2)
    {
        if(y == 20)
            cout << "Can not be turned: " << (unsigned char) 26 << endl;
        else
        {
            side = 4;
            cout << "Current direction: " << (unsigned char) 26 << endl;
        }
    }
    else if(side == 4)
    {
        if(x == 0)
            cout << "Can not be turned: " << (unsigned char) 24 << endl;
        else
        {
            side = 1;
            cout << "Current direction: " << (unsigned char) 24 << endl;
        }
    }
    else if(side == 1)
    {
        if(y == 0)
            cout << "Can not be turned: " << (unsigned char) 27 << endl;
        else
        {
            side = 3;
            cout << "Current direction: " << (unsigned char) 27 << endl;
        }
    }
    else if(side == 3)
    {
        if(x == 20)
            cout << "Can not be turned: " << (unsigned char) 25 << endl;
        else
        {
            side = 2;               
            cout << "Current direction: " << (unsigned char) 25 << endl;
        }
    }
}
 
void turnLeft(const int x, const int y, int &side)
{
    if(side == 2)
    {
        if(y == 0)
            cout << "Can not be turned: " << (unsigned char) 27 << endl;
        else
        {
            side = 3;
            cout << "Current direction: " << (unsigned char) 27 << endl;
        }
    }
    else if(side == 3)
    {
        if(x == 0)
            cout << "Can not be turned: " << (unsigned char) 24 << endl;
        else
        {
            side = 1;
            cout << "Current direction: " << (unsigned char) 24 << endl;
        }
    }
    else if(side == 1)
    {
        if(y == 20)
            cout << "Can not be turned: " << (unsigned char) 26 << endl;
        else
        {
            side = 4;
            cout << "Current direction: " << (unsigned char) 26 << endl;
        }
    }
    else if(side == 4)
    {
        if(x == 20)
            cout << "Can not be turned: " << (unsigned char) 25 << endl;
        else
        {
            side = 2;
            cout << "Current direction: " << (unsigned char) 25 << endl;
        }
    }
}
 
void moveWdraw(int &x,int &y, const int side, int a[][20])
{
    if(side == 1)
    {
        for(int i = x; i > x - 5; i--)
            a[i][y] = 1;
        x -= 5;
    }
    else if(side == 2)
    {
        for(int i = x; i < x + 5; i++)
            a[i][y] = 1;
        x += 5;
    }
    else if(side == 3)
    {
        for(int i = y; i > y - 5; i--)
            a[x][i] = 1;
        y -= 5;
    }
    else if(side == 4)
    {
        for(int i = y; i < y + 5; i++)
            a[x][i] = 1;
        y += 5;     
    }
}
 
void moveWOdraw(int &x,int &y, const int side)
{
    if(side == 1)
        x -= 5;
    else if(side == 2)
        x += 5;
    else if(side == 3)
        y -= 5;
    else if(side == 4)
        y += 5; 
}
fame4
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 1
15.02.2016, 03:02 #4
Мой вариант
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
#include <iostream>
using namespace std;
void header();
int main()
{
    const int aSize=20;
    int field[aSize][aSize]={0}, xPos=0, yPos=0, feather=0, action, distance; // x position, y position
    enum Direction {LEFT=1, TOP, RIGHT, DOWN};
    Direction way=RIGHT;
    header();
    while (action!=9) {
        cout << "Postion (" << xPos << ";" << yPos<< ")" << endl
             << "Direction " << way<< endl;
        cout << "Feather is" << (feather==1?" down\n":" up\n") << endl << "Select an action: ";
        cin >> action;
        switch (action) {
 
        case (1):
            for (int y=0; y<aSize; y++) {
                for (int x=0; x<aSize; x++)
                    cout << (field[x][y]==1?"*":" ");
                cout << endl;
            }
            break;
        case (2): feather=1; break      // Черепаха оставит след после движения
        case (3): feather=0; break;     // Черепаха не оставит след после движения
        case (4):                             // Поворот влево
            if (way==DOWN)
                way = RIGHT;
            else if (way==LEFT)
                way=DOWN;
            else if (way==TOP)
                way=LEFT;
            else if (way==RIGHT)
                way=TOP;
            break;
        case (5):                       // Разворот
            if (way==DOWN)
                way = TOP;
            else if (way==LEFT)
                way=RIGHT;
            else if (way==TOP)
                way=DOWN;
            else if (way==RIGHT)
                way=LEFT;
            break;
        case (6):                       // Поворот вправо
            if (way==DOWN)
                way = LEFT;
            else if (way==LEFT)
                way=TOP;
            else if (way==TOP)
                way=RIGHT;
            else if (way==RIGHT)
                way=DOWN;
            break;
        case (8):                       // Движение
            cout << "Enter distance:"; cin >> distance;
           if (way==TOP) {
                for (int j=0; j<distance; j++) {
                    if (feather==1) field[xPos][yPos]=1;
                    if ((yPos>=0&&yPos<aSize)&&(xPos>=0&&xPos<aSize)) {
                        yPos--;
                    }
                    else {
                        yPos++;
                        break;
                    }
                }
            }
            else if (way==RIGHT) {
                for (int j=0; j<distance; j++) {
                    if (feather==1) field[xPos][yPos]=1;
                    if ((yPos>=0&&yPos<aSize)&&(xPos>=0&&xPos<aSize)) {
                        xPos++;
                    }
                    else {
                        xPos--;
                        break;
                    }
                }
            }
            else if (way==DOWN) {
                for (int j=0; j<distance; j++) {
                    if (feather==1) field[xPos][yPos]=1;
                    if ((yPos>=0&&yPos<aSize)&&(xPos>=0&&xPos<aSize)) {
                        yPos++;
                    }
                    else {
                        yPos--;
                        break;
                    }
                }
            }
            else if (way==LEFT) {
                for (int j=0; j<distance; j++) {
                    if (feather==1) field[xPos][yPos]=1;
                    if ((yPos>=0&&yPos<aSize)&&(xPos>=0&&xPos<aSize)) {
                        xPos--;
                    }
                    else {
                        xPos++;
                        break;
                    }
                }
            }
            break;
            default: break;
        }
    }
}
void header(){
    cout << "   Possible actions:" << endl
         << "1 - Print field"  << endl
         << "2 - Set feather down"<<endl
         << "3 - Set feather up"<< endl
         << "4 - Turn to the left"<<endl
         << "5 - Turn around"<< endl
         << "6 - Turn to the right"<< endl
         << "8 - Move"<<endl
         << "9 - End"<< endl
         << "Default direction - right" << endl;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2016, 03:02
Привет! Вот еще темы с ответами:

Траектория - C++
Есть объект S1 летящий со скоростью V=411 м/c. Во круг него &quot;образуется&quot; строб радиусом Rmax=V*T, где V - постоянная скорость...

Траектория снаряда - C++
не знаю правильно сделал программу формули: a= \frac{\pi }{3} , x={V}_{0}tcosa , y={V}_{0}tsina-g\frac{{t}^{2}}{2} , V=35 , пушки кут...

Траектория снаряда (физика) - C++
Траектория снаряда, какой вылетает из пушки под углом http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha 3 начальной скоростью...

Траектория снаряда (где упадет снаряд ?) - C++
Траектория снаряда, какой вылетает из пушки под углом \alpha 3 начальной скоростью {V}_{0} описывается уравнениями x={V}_{0}tcos\alpha,...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
15.02.2016, 03:02
Ответ Создать тему
Опции темы

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