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

Задача на с++ Черно-белая графика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на с ++ Вычисление суммы цифр строки http://www.cyberforum.ru/cpp-beginners/thread352258.html
нужно решить на С++ Дана строка, состоящая из символов, каждый из которых является знаком «+» или цифрой, начинающаяся и заканчивающаяся цифрой. Если в строке встречается сочетание «++», то выдать сообщение об ошибке, в противном случае вычислить получившуюся сумму. есть на Паскале const s = '2+6+8+9+1+5'; var i,res: integer; begin
C++ Форматы преобразования данных Пусть k - целое от 1 до 365. Присвоить целой переменной n значение 1,2,...6 или 7 в зависимости от того, на какой день недели (понедельник, вторник,..., суббота или воскресенье) приходится k- й день не високосного года, в котором 1 января - понедельник. http://www.cyberforum.ru/cpp-beginners/thread352257.html
C++ Задача на С++ Наибольшее отношение
Нужно решить задачу в С ++ Наибольшее отношение Условие задачи. Найдите наибольшее значение отношения трехзначного числа к сумме его цифр. Решение задачи на Паскале. Поскольку речь идет о трехзначных числах, то диапазон начинается с самого малого из них, т.е. 100, а заканчивается самым большим трехзначным числом 999. Задачу можно решить простым перебором всех вариантов, хотя сразу хочу...
C++ Проигрыватель на c++.
Я новичок в c++ раньше работал с delphi и php,сейчас учусь по Дейтл'у. Захотелось написать видео и аудио проигрыватель,хотелось бы поинтересоваться у опытных программистов какую литературу стоит читать по этой теме? Работаю на QT creator,помогите советом и по возможности полезной литературой. Проигрыватель нужен простенький что бы читал mp3 и avi,и не говорите что это слишком сложно для меня....
C++ Гаусс http://www.cyberforum.ru/cpp-beginners/thread352212.html
Ребят, помогите с кусочком программы реализации метода Гаусса. мне нужно приведение матрицы к треугольному виду. Заранее спасибо
C++ Олимпиада Задача 1. Поезда (20 баллов) Участок железной дороги проходит через станции, пронумерованные от 1 до N. Из расписания движения поездов известно, какой поезд на какой станции делает остановку. Требуется определить, за какое минимальное время можно добраться от станции с номером 1 до станции с номером Р, и количество сделанных пересадок. Максимальное время работы на одном тесте: 3 сек. ... подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.09.2011, 10:55     Задача на с++ Черно-белая графика
Могу предложить мой исходник решения этой задачи
Не для слабонервных
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
#include <fstream>
#define m(t) for (i = 0; i < n; ++i)     for (j = 0; j < m; ++j)  v >> t[i][j];
#define f(q, w, e) if (a[i][j] - q && b[i][j] - w)     a[i][j] = c[e];
int main(){
    char a[100][100], b[100][100], c[4];
    int n, m, i, j;
    std::fstream v("input.txt");
    std::ofstream o("output.txt");
    v >> m >> n;
    m(a)
    m(b)
    v >> *c >> c[1] >> c[2] >> c[3];
    for (i = 0; i < n; ++i){
        for (j = 0; j < m; ++j){
            f(49, 49, 0)
            else 
                f(49, 48, 1)
            else 
                f(48, 49, 2)
            else
                a[i][j] = c[3];
            o << a[i][j];
        }
        o << '\n';
    }
        
            
}


Вот чуть более читабельный вариант, который в итоге превратился в то, что под катом.
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
#include <iostream>
int main(){
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    char a[100][100], b[100][100], c[4];
    int n, m;
    std::cin >> m >> n;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            std::cin >> a[i][j];
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            std::cin >> b[i][j];
    std::cin >> c[0] >> c[1] >> c[2] >> c[3];
    for (int i = 0; i < n; ++i){
        for (int j = 0; j < m; ++j){
            if (a[i][j] == '0' && b[i][j] == '0')
                a[i][j] = c[0];
            else if (a[i][j] == '0' && b[i][j] == '1')
                a[i][j] = c[1];
            else if (a[i][j] == '1' && b[i][j] == '0')
                a[i][j] = c[2];
            else
                a[i][j] = c[3];
            std::cout << a[i][j];
        }
        std::cout << std::endl;
    }
        
            
}
 
Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru