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

Быстрое копирование массивов с условиями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан файл, содержащий текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз http://www.cyberforum.ru/cpp-beginners/thread849233.html
...
C++ Пузырьковая сортировка Отсортировать положительные элементы одномерного массива методом обмена(пузырька). #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> using namespace std; int sort (int k,int); int main() { http://www.cyberforum.ru/cpp-beginners/thread849223.html
C++ Разбить число на цифры, каждую цифру записать в ячейку массива
Пользователь задает число N с консоли. Программа разбивает полученное число на цифры, получает реверс числа и распечатывает полученный результат на экран. В решении данного задания использовать массив, а так же следующий алгоритм действий: - разбить число на цифры, каждую цифру записать в ячейку массива; - получить реверс исходного числа, используя значения массива; - распечатать полученный...
Строки: подсчитать количество гласных букв в строке C++
Условие. есть программа которая подсчитывает кол-во гласных букв в строке, но строка забивается в саму прогу. Вопрос: что сделать, чтобы строку с которой надо считывать гласные забивалась в диалоговм окне(или как оно называется). #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) {
C++ Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5" http://www.cyberforum.ru/cpp-beginners/thread849216.html
Условие задачи: Дана ведомость студентов: Фамилия студента, оценка_1, оценка_2. Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5"(т.е хорошисты и отличники). Вывести их количество. #include<iostream> #include<stdio.h> #include<conio.h> int main() {
C++ коды ошибок и предупреждений Здравствуйте! Хотелось бы узнать есть ли какие нибудь базы данных с кодами ошибок и их комментариями кроме msdn? Не хочется изобретать велосипед ( к примеру, нужно вывести предупреждение о том, что не удается загрузить конфиг файл.) Формулировку подобных сообщений программисты сами выдумывают или пользуются какой-нибудь базой данных? подробнее

Показать сообщение отдельно
JerryI
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 31
26.04.2013, 13:59     Быстрое копирование массивов с условиями
Доброго времени суток.
У меня вопрос по поводу копирования массивов.
Есть два массива:
C++
1
2
uint8_t mainbuf[320*240];
uint8_t cb[16*16];
Мне нужно скопировать массив cb в mainbuf на определенные координаты, с условием, что значение ячейки cb != 0xE3. Пока реализую так:

C++
1
2
3
4
5
6
7
void set(int x, int y) {
   for (unsigned char i=0; i<16; ++i) {
       for (unsigned char j=0; j<16; ++j) {
           if (cb[j*16+i]!=0xE3) mainbuf[(y+j)*320+(x+i)] = cb[j*16+i];
       }
   }
}
Эта операция происходит очень медленно, а таких операций проводится довольно много.
Как можно это оптимизировать? memcpy - ? - но там нельзя использовать условия.
Прошу вашей помощи.
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru