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

Алгоритм Брезенхема для разложения отрезка в растр - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Среднее месячное потребление для каждой из машин http://www.cyberforum.ru/cpp-beginners/thread1120484.html
Нужно написать программу для автопарка из 4 машин(1 легковая, 2 микроавтобуса и грузовик которые работают на бензине,дизелях и пропана). Среднее месячное потребление для каждого из них. Но проблема в том что нужно впихнуть массив и цикл,подскажите какие идеи у кого есть?
C++ Билдер с++ преобразование файлов ! #include <iostream> #include <memory> #include <string> using namespace std; class Mes { private: string *result; string stroka; FILE *F; http://www.cyberforum.ru/cpp-beginners/thread1120481.html
C++ Вычисление слова по его номеру
Имеется алфавит (стандартно заданный), пользователь должен ввести число, а программа выдать слово. Не получается сделать. Формула такая N = k_i*n+r_0; n - число букв алфавита k - длина слова 1<=r_0<=n Я поняла, что алгоритм будет похож на перевод из десятичной системы счисления. но что то у меня не правильно работает, вот что получилось #include <iostream> #include<math.h> using...
Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить А в 21 степени, за шесть операций. C++
подскажите пожалуйста как написать на С++ задачу. Дано действительное число А. Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить А в 21 степени, за шесть операций.
C++ Крестики-нолики. Минимакс. Надо сдать лабу. Преподавательница - зверь http://www.cyberforum.ru/cpp-beginners/thread1120404.html
Доброго времени суток, уважаемые форумчане! Прошу вас о помощи. Преподавательница зверь!! Спрашивает о каждой строчке в коде. Который раз сдать не могу. Код прилагается. Если кому не сложно, прокомментируйте код относительно самих ходов Min и Max. #include "stdafx.h" #include "time.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #include <list> using namespace std;
C++ знак 1 пропущенный вызов постоянно горит знак 1 пропущенный вызов, хотя я удалила все журналы вызовов, сделала перегрузку, несколько раз отключала телефон, удаляла симки подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6242 / 5845 / 1891
Регистрация: 18.12.2011
Сообщений: 14,972
Завершенные тесты: 1
16.03.2014, 12:05     Алгоритм Брезенхема для разложения отрезка в растр
У меня нашлась такая функция
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
void InsertLine(RECT rc)
{
    int x, y, xend, yend, s, dx, dy, d, inc1, inc2;
    int x1,y1,x2,y2;
    x1=rc.left;
    x2=rc.right;
    y1=rc.top;
    y2=rc.bottom;
    dx = abs(x2-x1); 
    dy = abs(y2-y1);
    if (dx > dy) 
    {
              inc1 = 2*dy; 
          inc2 = 2*(dy - dx); 
          d = 2*dy - dx;
              if (x1 < x2)
          {
                    x = x1; y = y1; xend = x2;
                    if (y1 < y2) s = 1;
                    else s = -1;
              }else
          {
                     x = x2; 
             y = y2; 
             xend = x1;
                     if (y1 > y2)s = 1;
                     else s = -1;
              }
          SetPixelColor(x,y,RGB(255,255,255));
              while (x < xend)
         {
                   x++;
                   if (d > 0)
              {
                          y+=s;
                          d+=inc2;
                  }else
                    d+=inc1;
        SetPixel(x,y,cDraw);
            }
        }else
        {
                inc1 = 2*dx; 
        inc2 = 2*(dx - dy); 
        d = 2*dx - dy;
                if (y1 < y2)
        {
                        y = y1; x = x1; yend = y2;
                        if (x1 < x2) s = 1;
                        else s = -1;
                }else
        {
                        y = y2; 
            x = x2; 
            yend = y1;
                        if (x1 > x2)s = 1;
                        else s = -1;
                }
        SetPixel(x,y,RGB(255,255,255));
                while (y < yend)
        {
                      y++;
                      if (d > 0)
              {
                            x+=s;
                            d+=inc2;
                      }
                      else
               d+=inc1;
              SetPixel(x,y,RGB(255,255,255));
               }
    }
}
 
Текущее время: 23:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru