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

Написати гру на С++. В консолі - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки из файла http://www.cyberforum.ru/cpp-beginners/thread1040198.html
Здравствуйте. Мне нужна ваша помощь. Как брать поочередно строки из файла, что потом их как-то обрабатывать. fgets берет строку, но всего лишь одну хоть и стоит вроде в цикл "пока не конец файла"..
C++ Упорядоченный массив Всем добрый вечер! Прошу помощи по написанию программы. Задача: изначально имеется одномерный массив с произвольным набором чисел. На выходе нужно получить массив неповторяющихся положительных чисел с указанием о том, сколько раз встречается число в исходном массиве и упорядочить числа в порядке убывания частоты повторяемости. http://www.cyberforum.ru/cpp-beginners/thread1040179.html
Из инфиксной нотации в постфиксную C++
Здравствуйте, прошу помощи, есть класс в нем методы. Суть программы в том что она должна переводить из инфиксной нотации в постфисную, но где то накосячил, понять не могу где :( // #include <iostream> #include <string> #include <ctype.h> #define MAX_SIZE 256
C++ Перевод числе из 10 в 2 СС
Помогите пожалуйста дописать код, чтоб отрицательные числа переводил. Только без применения строк. (мб как нибудь с for,if) #include <stdio.h> #include <conio.h> #include <math.h> #include "iostream" using namespace std; void dovich(int); // прототип функции void dvoich(int x1) //x1 равен тому, что мы передаем в функцию в качестве аргумента x1=a
C++ Подскажите библиотеку.наверно библиотеку http://www.cyberforum.ru/cpp-beginners/thread1040143.html
VS2012 не хочет считать числа например 654367^534, 54266^34 вообщем любые большие числа я так понял даже long double не справляется с этой задачей . Например есть чисела p=54366672 , g=654745 , x=535 , y=(g^x) mod p Дальше с этими числа проводятся различные операции типо возведения в степень y=(g^x) mod p и тд. Как заставить компилятор считать такое?
C++ Сформировать массив сумм элементов столбцов матрицы (где ошибка?) матрицу выводи правильно,но при подсчете суммы выдает ошибку, если использовать не равные значения строк и столбцов. Подскажите, как это можно исправить. Заранее спасибо! // kyrs.cpp: определяет точку входа для консольного приложения. // подробнее

Показать сообщение отдельно
cpp_job
4 / 4 / 1
Регистрация: 25.11.2013
Сообщений: 108
13.12.2013, 20:11     Написати гру на С++. В консолі
Цитата Сообщение от Advin Посмотреть сообщение
або змейку)
Хотел змейку - получи! Писал я на ОупенЖЛ

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, i;
 
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();
}
 
Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru