С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Робот в лабиринте - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ где взять ответы из учебника Т.А.Павловская C/C++ http://www.cyberforum.ru/cpp-beginners/thread26888.html
Скажите пожалуйста где взять ответы из учебника Т.А.Павловская C/C++ или помогите решить 1 задачу к части 1. У меня есть свое решение, но неправильное.
C++ Смодулировать операцию деления двух действительных чисел в форме +/- m.n E K, где... Задание №1 Смодултровать операцию деления двух действительных чисел в форме +/- m.n E K, где сумарная длина мантиссы (m+n) - до 30 значащих цифр, а величена порядка К - до 5 цифр. Результат выдать... http://www.cyberforum.ru/cpp-beginners/thread26883.html
Книга и компилятор для новичка C++
какую книгу и компилятор вы посоветуете для начинающего программиста на с++ и С# ? пробовал и visual studio и borland c++ builder, во visual studio как то все по своему, например(не #include...
Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). C++
Помогите пожалуйста! Строка состоит из слов, разделенных одним или несколькими пробелами.(может начинаться несколькими пробелами и заканчиваться тоже несколькими) Найти слово, один и тот же символ...
C++ Поток cin http://www.cyberforum.ru/cpp-beginners/thread26831.html
Ребят подскажите почему после того как в цикле для потока cin устанавливается по команде Ctrl+z бит eofbit я не могу юзать поток cin он у меня все cin >> игнарирует даже если я очищаю поток...
C++ Expected unqualified-id before '{' token #include <iostream> using namespace std; enum {researsher,laborer,secratary,manager,accountant,executive}; int main() { char a='a'; cout<<"Vvedite 6ykBy... подробнее

Показать сообщение отдельно
Alexzander
2 / 2 / 0
Регистрация: 20.01.2009
Сообщений: 5
21.03.2009, 18:44
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 <graphics.h> //Подключаем графическую библиотеку
#include <stdlib.h> //Библиотека содержит функцию exit
  //(см. GraphInit)
#include <stdio.h> //Библиотека содержит функцию printf
  //(см. GraphInit)
#include <conio.h> //Библиотека содержит функцию getch
 
enum Direction {LEFT, UP, RIGHT, DOWN}; 
  //Перечисляемый тип - направления движения
 
const int Width = 15; //Ширина поля в клетках
const int Height = 15; //Высота поля в клетках
const int CellSize = 30; //Размер клетки в пикселах
 
int Cell[Width][Height]={ //Задаем массив клеток поля
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1},
{1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1},
{1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
}; //Ноль - клетка свободна, единица - клетка занята
 
void DrawField() //Функция, рисующая поле
 {
 setcolor(WHITE); //Устанавливаем цвет линий
 rectangle(0, 0, 30 * Width, 30 * Height); //Внешняя граница поля
 for (int i = 1; i < (Width - 1); i++) 
  //Рисуем вертикальные линии сетки
  line(i * CellSize, 1, i * CellSize, Height * CellSize);
 for (i = 1; i <= (Height - 1); i++) //Горизонтальные линии
  line(1, i * CellSize, Width * CellSize, i * CellSize);
 setfillstyle(1, WHITE); //Устанавливаем стиль заливки
 for (i = 0; i < Width; i++)
  for (int j = 0; j < Height; j++)
   if (Cell[i][j] == 1) //Рисуем все занятые клетки
    bar(i * CellSize, j * CellSize, (i + 1) * CellSize, 
  (j + 1) * CellSize);
 }
 
class CharacterClass //Класс "Персонажа"
 {
 int Radius; //Радиус круга
 int X, Y; //Положение на поле
 public: 
 CharacterClass(); //Конструктор класса
 void Draw(); //Функция, рисующая "персонаж"
 void Erase(); //Функция, стирающая "персонаж"
 void Move(int Cell[Width][Height], Direction dir); 
  //Движение "персонажа". Аргументы - массив клеток поля и 
  //направление движения
 };
CharacterClass::CharacterClass()
 {
 Radius = 15;
 X = 7; Y = 0; //Устанавливаем начальные координаты -
  //на одной из свободных клеток поля
 }
void CharacterClass::Draw()
 {
 setcolor(BLUE); //Устанавливаем цвет линии окружности...
 setfillstyle(1, BLUE); //...и цвет внутренней заливки
 fillellipse((2 * X + 1) * Radius, (2 * Y + 1) * Radius, Radius, 
  Radius); //Окружность с закрашенной внутренней областью
 }
void CharacterClass::Erase()
 {
 setcolor(BLACK); //Устанавливаем цвета фона
 setfillstyle(1, BLACK);
 fillellipse((2 * X + 1) * Radius, (2 * Y + 1) * Radius, Radius, 
  Radius);
 }
void CharacterClass::Move(int Cell[Width][Height], Direction dir)
 {
 Erase(); //Перед перемещением закрашиваем текущее положение
 switch(dir) //В зависимости от направлении движения...
  { //...если клетка-цель пуста и не будет выхода за пределы поля,
  //перемещаем "персонаж"
  case LEFT: if ((X > 0) && Cell[X - 1][Y] != 1) X--; break;
  case UP: if (Y > 0 && Cell[X][Y - 1] != 1) Y--; break;
  case RIGHT: if (X < Width && Cell[X + 1][Y] != 1) X++; break;
  case DOWN: if (Y < Height && Cell[X][Y + 1] != 1) Y++; break;
  }
 Draw(); //Рисуем в новом положении
 }
 
void main()
{
GraphInit(); //Текст функции расположен по ссылке.
  //Функция инициализирует графику
 
int exitOk = 0; //Флаг, означающий выход из программы
char c; //Считываемый с клавиатуры символ
 
DrawField(); //Сначала рисуем поле
 
CharacterClass Character;
Character.Draw(); //Рисуем "персонаж"
 
while (!exitOk)
 {
 c = getch(); //Считываем с клавиатуры символ
 switch (c) //Если была нажата клавиша-стрелка,..
  { //...перемещаем "персонаж"
  case 27: exitOk = !0; //Выход по "Escape"
  case 75: Character.Move(Cell, LEFT); break;
  case 72: Character.Move(Cell, UP); break;
  case 77: Character.Move(Cell, RIGHT); break;
  case 80: Character.Move(Cell, DOWN); break;
  }
 DrawField(); //После перемещения вновь рисуем поле
 }
closegraph();
}
Очень интересный пример, но я никогда не имел дело с графикой =( хотелось бы попробовать.
Cуть вопроса:
Как переписать данный код под Visual C++ 2005 Express Edition?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.