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

косая змейка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка "Unhandled exception, Access violation writing location" http://www.cyberforum.ru/cpp-beginners/thread1185216.html
Пишу вот так: root->child1->parent=root; root->child2->parent=root;выходит ошибка Unhandled exception at 0x00073dec in Regul.exe: 0xC0000005: Access violation writing location 0x00000104.
C++ Hello world почему в codeblocks программа #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } нормально работает, а в visual studio по стандарту написан совсем другой код, причём он не запускается даже если его не изменять, хотя в нём тоже написано вывести hello world, только по другому http://www.cyberforum.ru/cpp-beginners/thread1185215.html
Код программы по блок-схеме C++
Ребят помогите написать примерный код работы этого алгоритма. Ну я как себе представляю работу ЛЕНТОЧНОГО КОНВЕЙЕРА: включаем привод, если включился то начинается движение конвейера, если нет ,то идёт ещё одна попатыка включить. Когда конвейр начал движение то проверяем наличие на нём руды, есть или нет...если есть то вкл БФПО ,БФО или если нет то выкл
C++ Пользовательские функции
Помогите, пожалуйста, сократить обычную программу с помощью пользовательских функций. Она находит зарплату рабочих. вот сама программа: #pragma hdrstop # include <iostream.h> #include <windows.h> # include <conio.h> # define N 7 #pragma argsused
C++ Инвертировать односвязный список http://www.cyberforum.ru/cpp-beginners/thread1185192.html
Как инвертировать односвязный список с помощью только одного указателя? Пробую..но не получается:wall: #include <iostream> #include <ctime> #include <conio.h> using namespace std; struct Node
C++ Eof не находит конца string GetFileLine(fstream &file) { char *atextv = new char; file.get(atextv, 255, '\n'); file.get(); string textv(atextv); delete atextv; return textv; } подробнее

Показать сообщение отдельно
kaheu
 Аватар для kaheu
34 / 0 / 0
Регистрация: 19.08.2013
Сообщений: 246
22.05.2014, 20:46     косая змейка
в чём ошибка?
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
#include <time.h>
#include <stdlib.h>
#include  <GL/glut.h>
 
int N=30,M=20;
int Scale=25;
 
int w = Scale*N;
int h = Scale*M;
 
int dir,num=4;
 
struct 
{ int x;
  int y;}  s[100];
 
class Fructs
{ 
public:
    int x,y;
 
    void New()
    {  x=rand() % N;
        y=rand() % M;   }
    
    void DrawApple()
   {   glColor3f(0.0,1.0,0.0);
       glRectf(x*Scale,y*Scale,(x+1)*Scale,(y+1)*Scale); }
 
} m[10];
 
 void DrawSnake()
 {  
  glColor3f(0.0,0.0,1.0);
  for (int i=0;i<num;i++)
    {glRectf(s[i].x*Scale, s[i].y*Scale, (s[i].x+0.9)*Scale, (s[i].y+0.9)*Scale); }
 }
 
 void Tick()
 {
    for (int i=num;i>0;--i)
     {s[i].x=s[i-1].x;
     s[i].y=s[i-1].y;}
 
    if (dir==0) s[0].y+=1;      
    if (dir==1) s[0].x-=1;        
    if (dir==2) s[0].x+=1;         
    if (dir==3) s[0].y-=1;         
 
  for (int i=0;i<10;i++)
    if ((s[0].x==m[i].x) && (s[0].y==m[i].y)) 
      {num++; m[i].New();}
 
  if (s[0].x>N) dir=1;  if (s[0].x<0) dir=2;
  if (s[0].y>M) dir=3;  if (s[0].y<0) dir=0;
 
 for (int i=1;i<num;i++)
  if (s[0].x==s[i].x && s[0].y==s[i].y)  num=i;
 }
 
 
 
void DrawField()
  {
   glColor3f(0.0,0.7,0.0);
   glBegin(GL_LINES);
    for (int i=0; i<w; i+=Scale) 
      {glVertex2f(i,0); glVertex2f(i,h);}
    for (int j=0; j<h; j+=Scale)  
      {glVertex2f(0,j); glVertex2f(w,j);}
    glEnd();
}
 
 
void display() {
 
     glClear(GL_COLOR_BUFFER_BIT);
 
    DrawField();
 
    DrawSnake(); 
 
   for (int i=0;i<10;i++)
     m[i].DrawApple();
 
   glFlush();
   glutSwapBuffers();
}
 
void KeyboardEvent(int key, int a, int b)
{   
    switch(key)
    {
        case 101 :  dir=0; break;
         case 102:   dir=2; break;
        case 100 :  dir=1; break;
        case 103 :  dir=3; break;
     }
}
 
void timer(int = 0)
{
  display();
 
  Tick();
       
 glutTimerFunc(50,timer,0);
}
 
int main(int argc, char **argv) {
 
    srand(time(0));
    
    for (int i=0;i<10;i++)
        m[i].New();
    
 
     s[i].x=10;
     s[i].y=10;
 
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("Test"); 
glClearColor(1.0,1.0,0.6,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,w,0,h);
 
glutDisplayFunc (display);
glutSpecialFunc(KeyboardEvent);
glutTimerFunc(50,timer,0);
 
glutMainLoop();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru