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

Объясните пожалуйста ход работы программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция слияния двух строк и функция подсчёта предложений в строке http://www.cyberforum.ru/cpp-beginners/thread168599.html
Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и путем копирования другой строки (объекта класса строки). Предусмотреть функции слияния...
C++ системный стринг и обычный. Здравствуйте.. такая проблема: из текстбокса получаю системный стринг..его нужно преобразовать в char*, а потом ,соответственно, наоборот..подскажите пожалуйста, где найти эти функции и как они... http://www.cyberforum.ru/cpp-beginners/thread168571.html
C++ char s[100] or string s = int a[100]
Сопсна нужна помощь, и буду очень благодарен если кто-то поможет. Дается строка(string s или char s, в требованиях не указано, но лучше строка(предпочтения препода известны)), строка состоит из...
C++ Товары магазина
Информация о продаже товаров подготовлена по следующему макету: номер магазина; номер секции; номер чека; наименование товара; артикул товара; цена товара; количество то- вара; дата продажи....
C++ Запишите программу, которая выводит значение целой переменной 25 раз http://www.cyberforum.ru/cpp-beginners/thread168518.html
Запишите программу, которая выводит значение целой переменной 25 раз
C++ запишите программу что выводит запишите программу что выводит из формулы подробнее

Показать сообщение отдельно
kbu
2 / 2 / 0
Регистрация: 30.07.2010
Сообщений: 76

Объясните пожалуйста ход работы программы - C++

23.09.2010, 17:21. Просмотров 499. Ответов 6
Метки (Все метки)

Дан код

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
#include<iostream>
#include<windows.h>
 
using namespace std;
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
 
const int Y = 20, X = 30;
 
int a[Y][X] = {         1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,
                1,1,1,1,2,0,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,0,2,1,1,1,1,
                1,1,1,1,2,0,0,0,2,2,1,1,1,1,1,1,1,1,1,1,2,2,0,0,0,2,1,1,1,1,
                1,1,1,1,2,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,2,1,1,1,1,
                1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,
                1,1,1,1,2,0,0,0,0,0,2,2,2,2,0,0,2,2,2,2,0,0,0,0,0,2,1,1,1,1,
                1,1,1,1,2,0,0,0,2,2,3,3,3,3,0,0,3,3,3,3,2,2,0,0,0,2,1,1,1,1,
                1,1,1,1,2,0,2,2,3,3,0,0,0,0,0,0,0,0,0,0,3,3,2,2,0,2,1,1,1,1,
                1,1,1,1,2,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,2,1,1,1,1,
                1,1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,1,
                1,1,1,3,3,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,3,3,1,1,1,
                1,1,1,3,3,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,3,3,1,1,1,
                1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,
                1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,
                1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,
                1,1,1,3,3,0,0,0,0,0,0,0,2,2,0,0,2,2,0,0,0,0,0,0,0,3,3,1,1,1,
                1,1,1,1,3,3,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,3,3,1,1,1,1,
                1,1,1,1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,1,1,1,
                1,1,1,1,1,1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,1,1,1,1,1,
                1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1 };
 
inline void paint (int y, int x)
{
    COORD coord;
    coord.Y = y; coord.X = x;
    SetConsoleCursorPosition(console,coord);    
    SetConsoleTextAttribute(console, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE);
    cout<<" ";  
}
 
void colour_area (int y, int x)
{
    Sleep (20);
    //walls
    if (a[y][x]) return;
 
    //colour
    a[y][x] = 5;
    paint (y, x);
 
    colour_area (y-1, x);
    colour_area (y, x+1);
    colour_area (y+1, x);
    colour_area (y, x-1);
}
 
void main ()
{
    int y, x;
    COORD coord = {24,7};
    
 
    for(int i=0;i<Y;i++) {
        for(int j=0;j<X;j++) {
            switch(a[i][j]) {
                case 4: SetConsoleTextAttribute(console, BACKGROUND_INTENSITY|BACKGROUND_BLUE); cout<< " "; break;
                case 3: SetConsoleTextAttribute(console, BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_GREEN); cout<< " "; break;
                case 2: SetConsoleTextAttribute(console, BACKGROUND_INTENSITY|BACKGROUND_RED); cout<< " "; break;
                case 1: SetConsoleTextAttribute(console, FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE); cout << ' '; break;
                case 0: SetConsoleTextAttribute(console, BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_GREEN|BACKGROUND_BLUE); cout<<" "; break;
            }
        } cout << '\n';
    }
 
    y = coord.Y; x = coord.X;
    colour_area (y, x);
 
}
Кто может объяснить весь ход программы буквально по строчкам....где что значит и как происходит зарисовка....буквально все....просто надо решать похожие задачи,а я не могу понять что из чего выходит...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru