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

Алгоритм построчного заполнения многоугольника с использованием затравочного пикселя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В последовательности слов найти и поменять местами пару слов, у которых первые 3 буквы одного совпадают с последними 3 буквами другого http://www.cyberforum.ru/cpp-beginners/thread442942.html
Лабораторная работа № 6 Строки Цель работы: изучение правил описания, ввода-вывода и основных функций обработки символьных данных. Задание.В последовательности из 10 пятибуквенных слов найти и поменять местами пару слов, у которых первые три буквы одного совпадают с последними тремя буквами другого. Лабораторное задание 1. Выбрать задание, соответствующее номеру варианта. 2. Составить...
C++ меню с командами Создать меню с командами Input, Calc и Quit. Команда Calc недоступна. При выборе команды Quit приложение завершается. При выборе команы Input открывается диалоговое окно, содержащее: два поля ввода типа TextBox с метками Number 1, Number 2; группу из трех флажков (Summa, Max divisor, Multiply) типа CheckBox; кнопку типа Button. Обеспечить возможность: ввода двух чисел; выбора режима... http://www.cyberforum.ru/cpp-beginners/thread442928.html
Вычислить сумму и поменять местами элементы матрицы C++
Составить программу, в которой - организовать ввод матрицы размера nxn из целых чисел; - вычислить сумму элементов, которые стоят на главной диагонали матрицы; - поменять местами элементы второго столбца и главной диагонали; - организовать вывод матрицы в виде отдельной функции
C++ работа с графикой
подскажите код программы, которая выводит форму круга.
C++ mod http://www.cyberforum.ru/cpp-beginners/thread442872.html
Здравствуйте! У меня вопрос наверное глупый. Препод для выбора курсовой поставил следующие условия: Вариант задания выбирается по формуле (N mod 24)+1, где N - последние две цифры зачетной книжки студента(в моем случае N=17).; Залез в Википедию, где прочитал, что mod это остаток от деления, открыл "Дискретная математика. Теория чисел", читаю: Наименьший положительный остаток от деления...
C++ Перезапись char при чтении из файла Добрый день. Возникла такая проблема: есть charchar s; в него я считываю информацию из файла infEP = fopen("e-p.txt", "r"); fgets(s, LINESZ, infEP); произвожу некоторые манипуляции, и потом мне требуется считать в тот же char информацию из другого файла, но если написать просто infEA = fopen("e-a.txt", "r"); fgets(s, LINESZ, infEA); то информация добавиться к уже существующей, а мне... подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.02.2012, 08:07     Алгоритм построчного заполнения многоугольника с использованием затравочного пикселя
Что такое затравочный пиксель не знаю, но залить область с помощью стека можно так:
C++
1
2
3
4
enum cell { empty, visited, unvisited };
 
typedef std::vector< cell > T_row;
typedef std::vector< T_row > T_matr;
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
void paint_ridge(T_matr &matrix, int y, int x )
{
    const int n = matrix.size();
    const int m = matrix[0].size();
    
    std::stack< std::pair< int, int > > stack;
    
    stack.push( std::make_pair( y, x ) );
    
    while ( !stack.empty() )
    {
        std::pair< int, int > temp = stack.top();
        stack.pop();
        
        int i = temp.first;
        int j = temp.second;
        
        if ( matrix[i][j] != unvisited )
            continue;
            
        matrix[i][j] = visited;
        
        #define check(a, b) \
        if ( (a) >= 0 && (a) < n && (b) >= 0 && (b) < m && matrix[a][b] == unvisited ) \
        { \
            stack.push( std::make_pair(a, b) ); \
        } 
        
        check(i - 1, j)
        check(i + 1, j)
        check(i, j - 1)
        check(i, j + 1)
    }
    
}
 
Текущее время: 17:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru