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

Не могу разобраться с отработкой циклов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строка в стиле С http://www.cyberforum.ru/cpp-beginners/thread268794.html
Чем отличается строка в стиле классического С и С++?
C++ наследование Задача : Базовый класс: class Shape2D { public: Shape2D(); virtual ~ Shape2D(); virtual float Area( )= 0; virtual float Perimeter() = 0; virtual void PrintMessage(); http://www.cyberforum.ru/cpp-beginners/thread268784.html
C++ Матрица
2.3) Дана квадратная матрица.Поменять последние элементы каждого столбца с элементами главной диагонали.
C++ строковый массив. сортировка и поиск в нем
помгите с задачей, пожалуйста. даже не знаю, с чего начать дан одномерный массив, состоящий из произвольного количества слов, каждое из которых имеет одну или больше букв "О". Организовать его сортировку по возростанию способом обмена. Ключ сортировки - количество в слове букв "О". Вывести информацию о том, сколько слов в массиве имело только одну букву "О". Особенности: использовать...
C++ Системы искусственного интелекта http://www.cyberforum.ru/cpp-beginners/thread268729.html
Помогите разобраться!Нужно написать программу на си#, которая ставит диагноз по истории болезни... даже не знаю с какой стороны подойти к этой задаче....
C++ Описание программы Помогите разобратся в программе... кто нибудь может написать описание к каждой строчке?? Вот текст программы: #include <stdio.h> #include <conio.h> int doska; int horizontal, vertical; подробнее

Показать сообщение отдельно
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.04.2011, 17:33     Не могу разобраться с отработкой циклов
Ага, заработало.
НАписал бы case 'w' и т.п. и не пудрил мозги.)))

Добавлено через 8 минут
А прикольно.)
Раз уж я компилятор всё равно включил, напишу по другому.)

Добавлено через 40 минут
Но мерцает сильнее, т.к. я посимвольно пишу.
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
82
83
84
#include <conio.h>
#include <list>
 
#define SIZE1 21
#define SIZE2 60
 
typedef std::pair<int,int> Link;
typedef std::list<Link> Snake;
 
Link operator+ ( Link lhs, const Link & rhs )
{
    lhs.first += rhs.first;
    lhs.second += rhs.second;
    return lhs;
}
 
bool SnakeHere(const Snake & s, int w, int h )
{
    for( Snake::const_iterator ii = s.begin(); ii != s.end(); ++ii )
    {
        if( ii->first == w && ii->second == h )
            return true;
    }
 
    return false;
}
 
void Play()
{
    Snake snake;
    const int linkCount = 10;
 
    for( int i = 0; i < linkCount; ++i )
        snake.push_back( Link(i+1,1) );
 
    Link dir;
 
    while( true )
    {
        system("cls");
        
        for( int h = 0; h < SIZE1; ++h )
        {
            for( int w =0; w < SIZE2; ++w )
            {
                const bool edge = h == 0 || h == (SIZE1-1) || w == 0 || w == (SIZE2-1);
                if( edge )
                    putch( 'W' );
                else  if( SnakeHere( snake, w, h ) )
                    putch( 'O' );
                else
                    putch( ' ' );
            }
            putch( '\n' );
        }
 
        switch( _getch() )
        {
        case 'q':
            return;
        case 'w':
            dir = Link(0,-1);
            break;
        case 'a':
            dir = Link(-1,0);
            break;
        case 'd':
            dir = Link(1,0);
            break;
        case 's':
            dir = Link(0,1);
            break;
        };
 
        snake.pop_front();
        snake.push_back( snake.back() + dir );
    };
 
}
 
int main() {
    Play();
    return 0;
}
Добавлено через 38 секунд
И никаких проверок естессно не делаю.)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru