0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 24
1

неработает где ошибка?

04.06.2013, 10:24. Показов 745. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 10:24
Ответы с готовыми решениями:

неработает код где ошибка?
#include&lt;iostream&gt; using namespace std; int main() { int a1,a2,a3,a4; cout&lt;&lt;&quot;viberite...

Циклы с последовательным накоплением результатов.Неработает программа в чем ошибка
Нужно посчитать SUM=\sum F и количество k (F&lt;0) #include &lt;stdio.h&gt; #include...

Препод говорит где - то ошибка в синтаксисе. Сам код взят из "жефри Рихтер - Создание эффективных WIN32 приложений" Пожалуйста, подскажите где ошибка!
// получаем код ошибки DWORD dwError = GetDlgItemInt(hwnd, IDC_ERRORCODE, NULL, FALSE); HLOCAL...

Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка)
задан текст нужно вывести на экран количество слов где первая и последняя буквы одинаковы #include...

3
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,171
04.06.2013, 11:45 2
Цитата Сообщение от Aziz_05 Посмотреть сообщение
Не работает, где ошибка?
Всё работает, просто в связи с тем, что вы использовали getch() (строк 111), то и ввод будет ожидаться с консоли. Я не знаю какой реализацией BGI вы пользуетесь, но вот в той реализации, которой воспользовался я, есть функция readkey. С ней всё нормально работает:
C++
1
2
      // Строка 110
      c = readkey; //Считываем с клавиатуры символ
неработает где ошибка?


Бинарник: program.7z

P.S.: шарик в красный перекрасил я, его просто не было видно.
1
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 24
06.06.2013, 09:50  [ТС] 3
какая у вас программа у меня <kode bloks> на нём не работает,
0
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,171
06.06.2013, 10:52 4
Цитата Сообщение от Aziz_05 Посмотреть сообщение
какая у вас программа у меня <kode bloks> на нём не работает
Code::Blocks - это IDE, а вот компилятор скорее всего MinGW-GCC. Я тоже пользуюсь таким же компилятором, но вот камень преткновения -библиотека graphics.

Цитата Сообщение от anmartex Посмотреть сообщение
Я не знаю какой реализацией BGI вы пользуетесь
Я пользовался вот этой библиотекой: openbgi. Если не имеете представления как собирать её, то можете взять готовую мою. В папочку с компилятором скопируйте заголовочный файл в include, а саму библиотеку в lib.

В свойствах проекта не забудьте указать подключение библиотеки openbgi. Кроме неё ещё нужно будет указать gdi32 библиотеку, ибо openbgi базируется на ней.
Вложения
Тип файла: 7z openbgi.7z (15.0 Кб, 10 просмотров)
1
06.06.2013, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2013, 10:52
Помогаю со студенческими работами здесь

После строк, где 1ый элемент кратен 3, вставить строку из 0. Выводит совсем не то. где ошибка?
int n=ui-&gt;textEdit_6-&gt;toPlainText().toInt(); int m=ui-&gt;textEdit_7-&gt;toPlainText().toInt(); ...

Где то есть ошибка, а вот где она?
Есть такой код, замудрённый конечно, но, как умею уж: private void button4_Click(object sender,...

Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
написать универсальный тип, который представляет точку на плоскости в координатах (х, у) и в...

Где-то ошибка где не пойму
&lt;!doctype html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta http-equiv=&quot;X-UA-Compatible&quot;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru