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

Написать программу для измерения скорости вывода данных в видеопамять в графическом режиме - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ удаление элемента из ДЕКА (из середины) http://www.cyberforum.ru/cpp-beginners/thread909092.html
Подскажите уже, ну хоть кто-нибудь, как удалить элемент из середины дека(любой элемент, но из середины) как с вершинами работать я знаю(удаление, добавление), но как удалить другой элемент из дека не понимаю. Вообще исходный код был таким, но потом преподаватель дал доп. задание: удалить из середины элемент, точнее написать такую функцию, которая удаляет его. Я пытаюсь, но ничего не выходит....
C++ Тест по ООП Помогите, пожалуйста, с текстом по С++!!! Тема 13. Создание объектов класса 13.1 Пусть описан класс class ClassA {int a; public: ClassA(); ClassA(int ); }; Какое из следующих выражений противоречит синтаксису С++ a) ClassA В; b) ClassA B=ClassA(2); c) ClassA B(2); d) ClassA В(); http://www.cyberforum.ru/cpp-beginners/thread909082.html
Создание простой игры, каким образом распределить "обязанности" C++
В общем идея такая, на данный момент есть более-менее работающий прототип (звёздочками в консоли) "битвы алгоритмов": поочерёдно вызываются программы-игроки, делающие ход на игровом поле и.т.д. На данный момент я вижу идею так: физический движок (из-за неграмотности в подобных делах, простите за грубые названия) осуществляет, собственно говоря, весь этот процесс вызова игроков, просчитывания и...
C++ Разборка кода
Ребят, помогите описать код, что какая функция делает #include <stdio.h> #include <conio.h> #include <stdlib.h> typedef struct A { struct A *next; char surname, name, thirdname, sex; int age; } element;
C++ Попадание точки в заданную область http://www.cyberforum.ru/cpp-beginners/thread909070.html
Дана точка на плоскости с координатами (x,y).Составить программу, которая выдает одно из сообщений <<Да>>,<<Нет>>,<<На границе>> в зависимости от того , лежит ли точка внутри заштрихованной области , вне заштрихованной области или на ее границе. Области задаются графически следующим образом: @Naril, обращаю ваше внимание на правила форума: заголовок должен отражать суть задания
C++ Класс Квадратная матрица. Методы: сложение с матрицей, транспонирование, вывод элементов Класс «Квадратная матрица». Методы: сложение с матрицей, транспониро-вание, вывод элементов матрицы на дисплей. А следующая программа, использовать код программы которую надо сделать выше, но сделать перегрузку операторов подробнее

Показать сообщение отдельно
DeniSTI
0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 12

Написать программу для измерения скорости вывода данных в видеопамять в графическом режиме - C++

22.06.2013, 01:11. Просмотров 482. Ответов 1
Метки (Все метки)

Задача: "Написать программу для измерения скорости вывода данных в видеопамять в графическом режиме".
Очень нужна срочная помощь.

Добавлено через 2 часа 38 минут
Вбил саму графику
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
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <time.h>
 
unsigned char far *screen = (unsigned char *) MK_FP(0xA000,0); // Создание указателя на видеопамять
 
//Установка видеорежима
void SetMode(int Mode)
{
union REGS regs;
regs.h.ah=0;
regs.h.al=Mode;
int86(0x10,&regs,&regs);
}
//**Очистка экрана
void ClearScreen()
{
unsigned i;
for(i=0;i<5001;i++) screen[i]=0;
}
void WaitSync()
{
//Ожидание начала обратного хода луча по кадру
while(inportb(0x3DA) &0x8);
//Ожидание окончания обратного хода луча по кадру
while (!(inportb(0x3DA) &0x8));
}
//Вывод точки заданного цвета в заданную позицию экрана
void Pixel(unsigned x, unsigned y, unsigned char Color)
{
screen[320*y+x]=Color;
}
void Hor(unsigned y, unsigned char Color)
{
int x;
for (x=0;x<320;x++) screen[320*y+x]=Color;
}
void Ver(unsigned x,unsigned char Color)
{
int y;
for (y=0; y<200;y++) screen[320*y+x]=Color;
}
//Вывод спрайта
void Sprite(unsigned x, unsigned y, unsigned char *A)
{
int i,j;
for (i=0;i<8;i++) for (j=0;j<8;j++)
//Не выводить точки с кодом 0
if (A[i*8+j]) screen[320*(y+i)+x+j]=A[i*8+j];
}
//Сохранение фона
void Save(unsigned x, unsigned y, unsigned char *A)
{
int i,j;
for (i=0;i<8;i++) for (j=0;j<8;j++) A[i*8+j]=screen[320*(y+i)+x+j];
}
//Восстановление фона
void Rest(unsigned x, unsigned y, unsigned char *A)
{
int i,j;
for (i=0;i<8;i++) for(j=0;j<8;j++) screen [320*(y+i)+x+j]=A[i*8+j];
}
//Главный модуль
void main()
{
unsigned x,y;
unsigned char Plane[64]=
{0,0,0,0,0,0,0,0,
0,0,14,0,0,0,0,0,
0,0,0,14,0,0,0,0,
14,0,0,0,14,0,0,0,
14,14,14,14,14,14,14,14,
14,0,0,0,14,0,0,0,
0,0,0,14,0,0,0,0,
0,0,14,0,0,0,0,0};
unsigned char B[3][64];
 
SetMode(0x13);//установить графический режим с разрешением 320x200
//ClearScreen();//Очистить экран
for(y=0;y<200;y+=8) Hor(y,7);
for(x=0;x<320;x+-8) Ver(x,7);
//Отобразить всю палитру цветов в виде вертикальных линий
//for (y=0;y<100;y++) for (x=0;x<256;x++) Pixel(x,y,x);
//getch(); ожидать нажатия любой клавиши
for (x=0;x<100;x++)
{
for(y=0;y<3;y++)
{
Save(x,50*y,B[y]);
Sprite (x,50*y,Plane);
}
WaitSync();
for(y=0;y<3;y++) Rest(x,50*y,B[y]);
//getch();
}
SetMode(3);
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru