Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 35

Циклы

25.07.2012, 22:35. Показов 4667. Ответов 68
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь с циклом.Есть определенный массив из которого необходимо вытащить данные и поставить в цикл, так же необходимо делать проверку, вот что у меня получилось:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LPDIRECT3DTEXTURE9 values[4];
    values[0] = Green; 
    values[1] = Red; 
    values[2] = Yellow; 
    values[3] = Blue; 
 
    while (GetAsyncKeyState(VK_NUMPAD1) &1 )
     {
         for (int i=0; i <= 4; ++i)
        {
        x = values[i];
        bFugas = !bFugas;
        }
        
 
     }
Т.Е при нажатии на num1 , должна происходить смена цвета)
P.S Надеюсь написал понятным языком)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2012, 22:35
Ответы с готовыми решениями:

Заменить в коде циклы for на циклы while
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2; j++) if ((i%j) == 0) a =...

циклы
с точностью е=0.001

циклы for, while
for: Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна данному числу k. while: Дано натуральное число n....

68
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.07.2012, 16:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Igrom@n Посмотреть сообщение
Даааа
Это как?

Цитата Сообщение от Igrom@n Посмотреть сообщение
Не имеет смысла, т.к в начале уже bFugas = false; это скащано
Смысл имеет. Нужно проверить.
0
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 35
26.07.2012, 16:08  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Это как?


Смысл имеет. Нужно проверить.
Нет, не работает, ни при нажатии ни просто так

 Комментарий модератора 
Общаемся на форуме!
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.07.2012, 16:14
Я думаю, решение здесь в том, чтобы объявить i как глобальную переменную(так же как и bFugas), а здесь её уже менять. Должно получиться.
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.07.2012, 16:33
Попробуйте вот такую конструкцию:
C++
1
2
3
4
5
6
7
8
9
10
11
static int i = 0;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 4) i++;
        bFugas = !bFugas;
    }
    else 
    {
        i = 0;
        bFugas = !bFugas;
    }
и такую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
static int i = 0;
bFugas = true;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 4) i++;
        bFugas = !bFugas;
    }
    else 
    {
        i = 0;
        bFugas = !bFugas;
    }
1
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 35
26.07.2012, 19:03  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Попробуйте вот такую конструкцию:
C++
1
2
3
4
5
6
7
8
9
10
11
static int i = 0;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 4) i++;
        bFugas = !bFugas;
    }
    else 
    {
        i = 0;
        bFugas = !bFugas;
    }
и такую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
static int i = 0;
bFugas = true;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 4) i++;
        bFugas = !bFugas;
    }
    else 
    {
        i = 0;
        bFugas = !bFugas;
    }
Во 2 случае вообще не горит)
В 1 же случае, текстура мигает без остановки(без нажатия) на нажатие не реагирует

Добавлено через 23 минуты
alsav22, Спасибо большое!! Наконец то получилось! Исправив в 1 месте код все заработало! спасибо вам огромное!
P.S Вот код:
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
static int i = 0;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 3) 
        {
        i++;
        bFugas = true;
        }
    else 
    {
        i = 0;
        bFugas = false;
    }
    }
 
 
if (bFugas) 
 { 
     if (Fugas) 
 { 
 DWORD dwOldZEnable; 
 m_pD3Ddev->GetRenderState(D3DRS_ZENABLE,&dwOldZEnable); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,D3DZB_FALSE); 
 m_pD3Ddev->SetTexture(0,White);
 m_pD3Ddev->DrawIndexedPrimitive(device,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,dwOldZEnable); 
 m_pD3Ddev->SetTexture(0, values[i]);
 } 
 }
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.07.2012, 02:22
А, с 3-го на 0-вой цвет происходит переключение за одно нажатие? Или два раза нужно нажать? Такой код не работает ?
Код
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
static int i = 0;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 3) 
        {
        i++;
        bFugas = true;
        }
    else 
    {
        i = 0;
        bFugas = true; // чтобы после 3 на 0 переключился.
    }
    }
 
 
if (bFugas) 
 { 
     if (Fugas) 
 { 
 DWORD dwOldZEnable; 
 m_pD3Ddev->GetRenderState(D3DRS_ZENABLE,&dwOldZEnable); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,D3DZB_FALSE); 
 m_pD3Ddev->SetTexture(0,White);
 m_pD3Ddev->DrawIndexedPrimitive(device,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,dwOldZEnable); 
 m_pD3Ddev->SetTexture(0, values[i]);
 } 
 }
0
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 35
27.07.2012, 10:49  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
А, с 3-го на 0-вой цвет происходит переключение за одно нажатие? Или два раза нужно нажать? Такой код не работает ?
Код
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
static int i = 0;
    if (GetAsyncKeyState(VK_NUMPAD1) &1 )
    {
        if (i < 3) 
        {
        i++;
        bFugas = true;
        }
    else 
    {
        i = 0;
        bFugas =[COLOR="Red"] false[/COLOR]; // чтобы после 3 на 0 переключился.
    }
    }
 
 
if (bFugas) 
 { 
     if (Fugas) 
 { 
 DWORD dwOldZEnable; 
 m_pD3Ddev->GetRenderState(D3DRS_ZENABLE,&dwOldZEnable); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,D3DZB_FALSE); 
 m_pD3Ddev->SetTexture(0,White);
 m_pD3Ddev->DrawIndexedPrimitive(device,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount); 
 m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,dwOldZEnable); 
 m_pD3Ddev->SetTexture(0, values[i]);
 } 
 }
Да все работает, вы немного неправильно написали, тогда все норм! 1 нажатие 1 переключение цвета, т.е 1 раз нажал загорелся зеленым, 2 раз - красным, 3 раз -желтым, 4 -отключение подсвечивания! А затем по новой!
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
27.07.2012, 11:58
Цитата Сообщение от Igrom@n Посмотреть сообщение
т.е 1 раз нажал загорелся зеленым, 2 раз - красным, 3 раз -желтым, 4 -отключение подсвечивания! А затем по новой!
А синий куда потерялся?
0
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 35
27.07.2012, 14:08  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
А синий куда потерялся?
да все нормально) все горит, никакие цвета не пропали, я цвета указал просто для примера!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2012, 14:08

Циклы
Воозникли трудности. Можете помочь ?) Необходимо протабулировать функции, зависящее от 2 переменных или от нескольких параметров....

Циклы
1)Используя перебор значений найти все числа из диапазона от n до m, которые при возведении в квадрат дают палиндром 2)В соревнованиях...

Циклы do и while
Приветсвую всех. Прошу помощи в решении двух задач: 1.Составить программу для определения, является ли натуральное число k степенью...

Циклы
Дан номер телевизионного канала(от 1 до 5). Вывести на экран наиболее популярные программы заданного канала.

Циклы
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны


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

Или воспользуйтесь поиском по форуму:
69
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru