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

Нужны комментарии к программам - C++

Восстановить пароль Регистрация
 
ronny137
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 61
22.05.2011, 21:49     Нужны комментарии к программам #1
обьясните пожалуйста проги, что делают какие строчки

2.1. Алгоритм уравнения прямой y = ax + b.
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
#include <time.h>
#include "vstub.h"
 
namespace std{
 
int main(void)
{
    drawgrid();
setcolor (200,150,100);
        int x = 0;
int y = 0;
double a = 0.1;
int b = 1;
        for(x, y; x < 400; x++, y = a*x+b)
        {
        putpixel(x, y);
        }
        vc << "\nTime diff is : " << clock();
        TFlush();
        GFlush();
        vgetchar();
            return 0;
}
 
}

2.2. Алгоритм целочисленного уравнения прямой.
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 <time.h>
#include "vstub.h"
 
#define k 1024
 
namespace std{
 
int main(void)
{
    
    drawgrid();
setcolor (200,150,100);
int x=0;
int y=0;
int a=1;
int b=1;
    for (x, y; x<400; x++, y = (k*a*x + b*k)/k)
    {
        putpixel(x, y);
    }
    vc << "\nTime diff is : " << clock();
    TFlush();
    GFlush();
    vgetchar();
    return 0;
}
 
}
2.3. Алгоритм Брезенхэма.
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
#include <time.h>
#include "vstub.h"
 
namespace std{
 
int main(void)
{
    
    drawgrid();
setcolor (200,150,100);
double error;
int x = 0;
int y = 0;
int dy = 400;
int dx = 400;
error = dy/dx – 0,5;
    for (int i = 0; i < 400; i++)
    {
putpixel(x, y);
if (error >= 0)
            {
                y++;
                error -= 1;
            }
            else
            {
                X++;
                error += dy/dx;
            }
    }
    vc << "\nTime diff is : " << clock();
    TFlush();
    GFlush();
    vgetchar();
    return 0;
}
 
}
2.4
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
74
75
76
77
78
79
80
81
#include <time.h>
#include <math.h>
#include "vstub.h"
#include "conio.h"
 
#define width 800
#define height 800
#define y_shift 500
#define z0 0
#define pi 3.141592654
 
namespace std{
 
 
 
short x0=0, x_shift=-x0, x_max=width;
short top_y[height], bottom_y[height];
float inc_z, scale;
short z_max;
 
 
 
double sq(double a)
{
    return a*a;
}
 
short check(short x, short y, float z)
{
    if(x>width || x<0 || y>height || y<0) return -1;
    if(z==z0) {top_y[x]=y; bottom_y[x]=y; return 0;}
    if(y>top_y[x]) {top_y[x]=y; return 1;}
    if(y<bottom_y[x]) {bottom_y[x]=y; return 2;}
    return -1;
}
 
void func(int num)
{
    double x, y, z, a, sc_x, sc_y, inc_x=1/scale;
    x0/=scale; x_max/=scale;
    for(z=z0;z<=z_max;z+=inc_z)
        {
        for(x=x0;x<x_max;x+=inc_x)
            {
            switch(num)
            {
            case 0: y=0; break;
            case 1: y=1/(fabs(x)+1)*sin(sq(x)+z);break;
            case 2: a=sq(x-pi)+sq(z-pi);y=0.2*sin(x)*cos(z)-1.5*cos(7*a/4)*exp(-a); break;
            case 3: y=sin(x); break;
 
            default: return;
            }
 
            sc_y=(y)*scale+z*0.707+y_shift;
            sc_x=(x)*scale+z/2+x_shift;
 
            switch(check(sc_x,sc_y,z))
            {
                case 0: setcolor(255,255,255); putpixel(sc_x,height-sc_y); break;
                case 1: setcolor(255,0,255); putpixel(sc_x,height-sc_y); break;
                case 2: setcolor(255,255,0); putpixel(sc_x,height-sc_y); break;
                default: break;
            }
 
            }
        }
}
int main()
{
    z_max=70;
    inc_z=0.7;
    scale=50;
    func(1);
    TFlush();
    GFlush();
    vgetchar();
    return 0;
}
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 21:49     Нужны комментарии к программам
Посмотрите здесь:

C++ Нужны комментарии к программе
C++ Нужны комментарии к программе
C++ Нужны комментарии к коду с указателями
C++ Работа с файлами, нужны комментарии
C++ Нужны комментарии к программе
Функция (нужны комментарии ) C++
Нужны комментарии к программе C++
C++ Нужны комментарии к коду

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
22.05.2011, 23:05     Нужны комментарии к программам #2
Ну в первых заданиях вероятно идёт рисование всяких фигур (судя по аргументам и тому что выбирается цвет), как именно это происходит ищите в vstub.h.
Yandex
Объявления
22.05.2011, 23:05     Нужны комментарии к программам
Ответ Создать тему
Опции темы

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