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

Черепашья графика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано натуральное число n. Вычислить http://www.cyberforum.ru/cpp-beginners/thread692019.html
Пожалуйста, помогите решить задачу с помощью циклов. Дано натуральное число n. Вычислить:
C++ Поиск двух групп наименьших слов Задача такая: выделить две группы самых коротких слов, отобразить их на экране. Т.е. пользователь с клавиатуры вводит текст (предложение). Программа разбивает это предложение на слова, находит наименьшее слово. Если есть еще слова такой-же длины, то это будет первая группа наименьших слов. Потом ищем следующее, большее по длине, слово. И точно так-же ищем слова такой-же длины - это будет вторая... http://www.cyberforum.ru/cpp-beginners/thread692008.html
обработка текста C++
Прочитать из текстового файла строку (имя файла и номер строки вводятся с клавиатуры) и вывести из нее на экран слова в соответствии со следующим алгоритмом: сначала - самое короткое слово, потом -домена на один символ и т.д.
C++ наследование классов
Есть базовый класс class List { protected: struct Element { char name; int n_bus; int n_mar;
C++ Подобрать к заданному числу ранвую или близкую по значению переменную http://www.cyberforum.ru/cpp-beginners/thread691991.html
Вобщем есть 10 переменных. Пользователь задает число Н и к нему подбирается равная либо большая (максимально к нему близкая) по значению переменная. Как это осуществить в плане кода?
C++ Метод Ньютона Найдите, пожалуйста, ошибку! #include <stdio.h> #include <math.h> #include <stdlib.h> #include <iostream> #include <conio.h> #pragma hdrstop using namespace std; //--------------------------------------------------------------------------- подробнее

Показать сообщение отдельно
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 14:26     Черепашья графика
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
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
#include <Windows.h>
const int step=20;
 
int turtle_position=1;//положение головы черепашки (1-юг, 2-восток, 3-запад, 4-север);
int last_y_index=0, last_x_index=0;//переменные для сохранения последней позиции черепахи; по умолчанию черепаха идет с 0,0 поэтому мы запоминаем эту позицию
 
void printArray(int[][step],int);
void goToThePosition(int[][step], bool, int, int);
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int floor[step][step]={0};
 
    bool status_pen=false;//статус пера
    int choise;
 
    cout << "Введите команды для управления черепахой: \n1 - поднять перо\n2-опустить перо\n3-поворот направо\n4-поворот налево\n5-движение вперед\n6-печать массива\n9-конец данных: ";
 
    while (cin>>choise)
    {
        int steps; //количество шагов для пятого пункта
        switch (choise)
        {
        case 1:
            status_pen=false;
            break;
        case 2:
            status_pen=true;
            break;
        case 3:
            if (turtle_position==1) //смотрим на юг
            {
                turtle_position=3; //поворачиваем на запад и т.д.
            }
            else if (turtle_position==2)
            {
                turtle_position=1;
            }
            else if (turtle_position==3)
            {
                turtle_position=4;
            }
            else
            {
                turtle_position=2;
            }
            break;
        case 4:
            if (turtle_position==1)
            {
                turtle_position=2;
            }
            else if (turtle_position==2)
            {
                turtle_position=4;
            }
            else if (turtle_position==3)
            {
                turtle_position=1;
            }
            else
            {
                turtle_position=3;
            }
            break;
        case 5:
            cout << "Введите количество шагов для черепахи: ";
            cin >> steps;
            goToThePosition(floor,status_pen, turtle_position, steps);
            break;
        case 6:
            cout << "\nВаша черепаха прошла путь: " << endl;
            printArray(floor, step);
            break;
        case 9:
            system ("pause");
            return 0;
        default:
            break;
        }
 
    }
}
 
void printArray(int printedArray[][step], int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int k = 0; k < size; k++)
        {
            if (printedArray[i][k]==1)
            {
                cout << '*';
            }
            else
            {
                cout << ' ';
            }
        }
        cout << endl;
    }
}
 
void goToThePosition(int turtleArray[][step], bool pen_status, int turtle_position, int steps)
{
    if (pen_status)
    {
        if (turtle_position==1) //смотрим на юг
        {
            int counter=last_y_index;
            for (int i = last_y_index; i < counter+steps; i++)
                {
                    turtleArray[i][last_x_index]=1;//записать шаг
                    last_y_index=i; //запомнить позицию(нужно для последней итерации;
                    
                }
        }
        else if (turtle_position==2)
        {
            int counter=last_x_index;
            for (int i = last_x_index; i < counter + steps; i++)
            {
                turtleArray[last_y_index][i]=1;//записать шаг
                last_x_index=i;//запомнить позицию(нужно для последней итерации;
            }
        }
        else if (turtle_position==3)
        {
            int counter=last_x_index;
            for (int i = last_x_index; i >counter-steps; i--)
            {
                turtleArray[last_y_index][i]=1;//записать шаг
                last_x_index=i;//запомнить позицию(нужно для последней итерации;
            }
        }
        else
        {
            int counter=last_y_index;
            for (int i = last_y_index ; i > counter-steps; i--)
            {
                turtleArray[i][last_x_index]=1;//записать шаг
                last_y_index=i;//запомнить позицию(нужно для последней итерации;
            }   
        }
    }
    else
    {
        if (turtle_position==1) //смотрим на юг
        {
            int counter=last_y_index;
            for (int i = last_y_index; i < counter+steps; i++)
                {
                    turtleArray[i][last_x_index]=0;//записать шаг
                    last_y_index=i; //запомнить позицию(нужно для последней итерации;
                    
                }
        }
        else if (turtle_position==2)
        {
            int counter=last_x_index;
            for (int i = last_x_index; i < counter + steps; i++)
            {
                turtleArray[last_y_index][i]=0;//записать шаг
                last_x_index=i;//запомнить позицию(нужно для последней итерации;
            }
        }
        else if (turtle_position==3)
        {
            int counter=last_x_index;
            for (int i = last_x_index; i >counter-steps; i--)
            {
                turtleArray[last_y_index][i]=0;//записать шаг
                last_x_index=i;//запомнить позицию(нужно для последней итерации;
            }
        }
        else
        {
            int counter=last_y_index;
            for (int i = last_y_index ; i > counter-steps; i--)
            {
                turtleArray[i][last_x_index]=0;//записать шаг
                last_y_index=i;//запомнить позицию(нужно для последней итерации;
            }   
        }
    }
}
вот мое решение при чем с вводом. вроде работает, если не работает пишите будем улучшать=)
 
Текущее время: 00:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru