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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hard1337
0 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 19
#1

На языке СИ++ написать программу,Выполняющую следующие операции: - C++

18.07.2013, 22:58. Просмотров 633. Ответов 4
Метки нет (Все метки)

На языке СИ++ написать программу,Выполняющую следующие операции:

Ввод рисунка из файла *.bmp.
Подсчет общего числа пикселей в строке,столбце матрицы рисунка.
Подсчет числа пикселей каждого цвета в рисунке.
Вывод этих значений на экран.

__
отблагодарю как смогу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2013, 22:58     На языке СИ++ написать программу,Выполняющую следующие операции:
Посмотрите здесь:

Написать программу, выполняющую вывод на дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5 C++
C++ Написать консольную программу , выполняющую следующие действия
Написать программу, выполняющую следующие действия: C++
C++ Написать программу,выполняющую следующие действия:
C++ Написать программу,выполняющую следующие действия:
C++ Написать программу,выполняющую следующие действия:
C++ Написать программу, выполняющую следующие действия со структурой:
Написать программу, выполняющую следующие действия со структурой: C++
C++ Написать программу, многократно выполняющую чтение элементов массива заданного размера
C++ Написать программу, выполняющую указанные операции с динамическими структурами
C++ Написать программу, выполняющую деление на 2 заданного числа до тех пор, пока не будет выполнено условие
Написать программу на С++ которая считает следующие выражения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
19.07.2013, 07:46     На языке СИ++ написать программу,Выполняющую следующие операции: #2
если не критично по времени выполнения, можно открыть рисунок, пойти по нему, по ходу скидывая каждый пиксель (без дублирования) в мапу. делов то
hard1337
0 / 0 / 0
Регистрация: 14.09.2012
Сообщений: 19
19.07.2013, 12:08  [ТС]     На языке СИ++ написать программу,Выполняющую следующие операции: #3
В Сентябре нужно сдать, поможешь?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12495 / 7057 / 791
Регистрация: 27.09.2012
Сообщений: 17,436
Записей в блоге: 2
Завершенные тесты: 1
19.07.2013, 12:11     На языке СИ++ написать программу,Выполняющую следующие операции: #4
Википедия: формат BMP
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
19.07.2013, 13:48     На языке СИ++ написать программу,Выполняющую следующие операции: #5
как нить накидаю.

Добавлено через 1 час 35 минут
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
int main() {
    BITMAPFILEHEADER bitMapFileHeader;
    BITMAPINFOHEADER bitMapInfoHeader;
 
    FILE* file;
    fopen_s(&file, "D:\\picture.bmp", "r");
    fread((void*)&bitMapFileHeader, sizeof(BITMAPFILEHEADER), 1, file);
    fread((void*)&bitMapInfoHeader, sizeof(BITMAPINFOHEADER), 1, file);
 
    void* buffer = new unsigned char[bitMapInfoHeader.biSize];
    const int pixelsNum = bitMapInfoHeader.biWidth * bitMapInfoHeader.biHeight;
    const size_t bitPerPixel = bitMapInfoHeader.biBitCount / 8;
    unsigned int pixel = 0;
 
    std::set<unsigned int> set;
 
    for (int i = pixelsNum - 1; i >= 0; --i) {
        fread((void*)&pixel, bitPerPixel, 1, file);
        set.insert(pixel);
    }
 
    std::copy(set.begin(), set.end(), std::ostream_iterator<int>(std::cout, "\n"));
 
    return 0;
}
количество разных пикселей не выводит. доделать не сложно. работает ессно долго. на нобелевскую премию не претендую. мест для оптимизации и улучшений миллион. рисовал в паинте прямоугольнички. если рисуете карандашиком например красный цвет, то если увеличить картиночку то увидите несколько оттенков красненького. а квадратики дают именно один цвет.
Yandex
Объявления
19.07.2013, 13:48     На языке СИ++ написать программу,Выполняющую следующие операции:
Ответ Создать тему
Опции темы

Текущее время: 21:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru