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

Игра "Жизнь" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создать класс шаблон Vector http://www.cyberforum.ru/cpp-beginners/thread895558.html
создать класс шаблон Vector, который отличается от класса Array тем , что в данном классе можно как добавлять элементы , так и удалять элементы массива. Блин , я не знаю что преподу нужно , я не знаю как дальше делать, он говорит что память не распределяется, я хз как распределить, сдал лабу с массивом, с вектором ему все что делаю не нравиться, первый листинг класса арэй, я ему сдал, все...
C++ Исключения Нужно что бы программка при вводе данных, если строка пуста, то выкидывала исключение... Вот функция где расписана обработка. Программка компилируется, дает ввести данные, но потом выкидывает.. Подскажите, пожалуйста, где ошибка. ostream& operator << (ostream &wyjscie, WyborLekc const& w) { wyjscie <<"Wyklad Obieralny: \n Nazwa Wykladu/Przedmiotu: "<<w.wname<<"\n"<<"Temat Wykladu:... http://www.cyberforum.ru/cpp-beginners/thread895554.html
Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах. C++
Найти произведение двух верхнеугольных матриц,которые храняться в упакованном виде в одномерных масивах.
C++ Решить интеграл
Необходимо решить интеграл в среде С++ 1 S sin(3x^2-5сos(x))dx с точностью E=10^-4.Шаги подбирать по принципу Рунге o Вообще не могу понять как такое сделать(
C++ Просьба к тем, у кого есть visual c++ 2012 http://www.cyberforum.ru/cpp-beginners/thread895527.html
Проблема в том, что я сделал код, который должен поддерживаться вижуалкой. Но из-за технических причин писал я не в ней. В коде я использовал getline , который, как мне сказали не поддерживаться в вижуалке старее 2012.Ниже мой код, пожалуйста, те у кого эта версия есть, проверьте поддерживается ли код. НУЖНО СРОЧНО! /** Структура: Футбол 1) ФИО футболиста; 2) Возраст футболиста; 3)...
C++ Простая программка (найти ошибку в коде) Не могу понять в чем проблема #include<iostream> #include<conio.h> using namespace std; class ARR { подробнее

Показать сообщение отдельно
Artaner
1 / 1 / 0
Регистрация: 08.06.2013
Сообщений: 68

Игра "Жизнь" - C++

08.06.2013, 19:07. Просмотров 692. Ответов 2
Метки (Все метки)

Написал недавно программку, но возникли проблемы с её оптимизацией( распараллеливанием), а так же графикой. Знаю я только openMP и Pthreads на довольно таки низком уровне, могу распараллелить перемножение матриц ну или типа такого. Насчёт же графики, я только только начал осваивать её, по этому программа сделана на openGL, но хотелось бы освоить так же Directx( какие книги посоветуете для чайников, ну или обучающие видео\сайты с подробным описанием функций).

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
#include <windows.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <gl/glut.h>
 
const int width=1000; //ширина
const int height=500; //высота
int maze[height][width]; //исходный массив
int maze1[height][width]; //массив для перестройки
int scale=2; //масштаб
int w=width*scale; //ширина окна
int h=height*scale; //высота окна
 
void drew() //рисуем
{glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,1.0,0.0);
for(int y=0;y<height;y++)
for(int x=0;x<width;x++)
if(maze[y][x]==1){glRectf(x*scale,y*scale, (x+1)*scale, (y+1)*scale);}
glFlush();}
 
void create() //создаём исходный массив
{srand(time(0));
for(int y=0;y<height;y++)
for(int x=0;x<width;x++)
{if(x==0 || y==0 || x==width-1 || y==height-1)maze[y][x]=0;else
{maze[y][x]=rand()%2;}}}
 
void recreate()
{srand(time(NULL));
for(int y=1;y<height;y++)
for(int x=1;x<width;x++)
maze1[y][x]=maze[y][x];
for(int y=1;y<height-1;y++)
for(int x=1;x<width-1;x++)
{int k=maze[y-1][x-1]+maze[y-1][x]+maze[y-1][x+1]+maze[y][x-1]+maze[y][x+1]+maze[y+1][x-1]+maze[y+1][x]+maze[y+1][x+1];
if(maze[y][x]==1 && (k>3 || k<2)) maze1[y][x]=0; //если живых клеток больше 3 или меньше 2 то клетка умирает
if(maze[y][x]==0 && k==3) maze1[y][x]=1;}         //если живых клеток 3 то мертвая клетка оживает
for(int y=0;y<height;y++)
for(int x=0;x<width;x++)
maze[y][x]=maze1[y][x];}
 
void timer()
{while(1)
{system("cls");
 Sleep(5);
 recreate();
 drew();}}
 
int main(int argc, char **argv) 
{create();
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize (w, h);
glutCreateWindow ("Life"); 
glClearColor(1.0,1.0,0.6,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,w,0,h);
glutDisplayFunc(timer);
glutMainLoop();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru