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

Цикл от 0 до 256 и от 256 до 0

01.03.2018, 12:01. Показов 2998. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят подскажите пожалуйста.
Есть простой кодик, который вроде работает и проходит цикл от 0 до 256.
Подскажите как сделать чтобы при достижении 256, произошел проход цикла до 0? И потом снова по кругу от 0 до 256?

C++
1
2
3
4
5
6
7
8
void main() {
  //InitMain();
  current_duty  = 256;                        
  while (1) {
      for (count = 0; count <=current_duty; count++); 
      PWM_Set_Duty(current_duty,  1); 
  }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2018, 12:01
Ответы с готовыми решениями:

Используя цикл for вычислить и вывести на экран 1+2+4+8+.+256
Доброго времени суток! Помогите решить задачу, напишите программу которая с помощью цикла for вычисляет и выводит на экран 1+2+4+8+...+256....

Вывод в консоль SetPixel(R,G,B) с 256-цветового *.bmp
Добрый вечер, пытаюсь прочитать *.bmp файл заведомо известного размера и вывести его в консоль через SetPixel #include &lt;iostream&gt;...

Запись в мемо поле (mdb) > 256 byte в VC
Народ помогите! Зашел в тупик, как не бьюсь, ну никак VC не хочет писать в мемо &gt; 256 b. Делаю визардом простое приложение с БД...

27
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
01.03.2018, 16:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от byakov92 Посмотреть сообщение
чтобы значения цикла крутились в переменной current_duty
тогда можно вместо i поставить current_duty
Цитата Сообщение от byakov92 Посмотреть сообщение
крутились ... без нажатия Esc
а как тогда цикл останавливать?
1
1 / 1 / 0
Регистрация: 30.01.2017
Сообщений: 111
01.03.2018, 16:34  [ТС]
Цитата Сообщение от Hitoku Посмотреть сообщение
current_duty = i;
В этом месте?
Цитата Сообщение от Hitoku Посмотреть сообщение
а как тогда цикл останавливать?
Пока что хочу попробовать, чтобы цикл крутился все время
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
01.03.2018, 16:53
byakov92, вот что я имею в виду
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
#include <iostream>
#include <Windows.h>
#include <conio.h>
 
int main()
{
    const int n = 256;
    int current_duty;
    while (true)
    {
        char c;
        for (current_duty = 0; current_duty <= n; current_duty++) {
            Sleep(500);
            std::cout << current_duty << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B)  break;
            }
        }
        if (c == 0x1B) break;
        for (int current_duty = n; current_duty >= 0; current_duty--) {
            Sleep(500);
            std::cout << current_duty << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B) break;
            }
        }
        if (c == 0x1B) break;
    }
    std::cout << current_duty << std::endl;
    system("pause");
    return 0;
}
Цитата Сообщение от byakov92 Посмотреть сообщение
Пока что хочу попробовать, чтобы цикл крутился все время
тогда просто не нажимайте Esc и он не остановится
1
1 / 1 / 0
Регистрация: 30.01.2017
Сообщений: 111
01.03.2018, 17:25  [ТС]
Цитата Сообщение от Hitoku Посмотреть сообщение
вот что я имею в виду
Простите я не правильно выразился, я имел ввиду чтобы значения цикла попадали в переменную current_duty строки
PWM_Set_Duty(current_duty, 1);

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
#include <iostream>
#include <Windows.h>
#include <conio.h>
 
int main()
{
    int current_duty = 256;
    while (true)
    {
        char c;
        for (int i = 0; i <= current_duty; i++) {
            Sleep(500);
            std::cout << i << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B) {
                    current_duty = i;
                    break;
                }
            }
        }
        if (c == 0x1B) break;
        for (int i = current_duty; i >= 0; i--) {
            Sleep(500);
            std::cout << i << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B) {
                    current_duty = i;
                    break;
                }
            }
        }
        if (c == 0x1B) break;
    }
    std::cout << current_duty << std::endl;
    system("pause");
    return 0;
}
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
01.03.2018, 17:29
Тогда метод PWM_Set_Duty должен вызываться в каждом цикле, а вместо 1 нужно поставить i
0
1 / 1 / 0
Регистрация: 30.01.2017
Сообщений: 111
01.03.2018, 17:34  [ТС]
Цитата Сообщение от Hitoku Посмотреть сообщение
Тогда метод PWM_Set_Duty должен вызываться в каждом цикле, а вместо 1 нужно поставить i
Можете показать кодом? А то я уже совсем запутался что и где должно быть..
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
01.03.2018, 17:41
Лучший ответ Сообщение было отмечено byakov92 как решение

Решение

byakov92, вроде того
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
#include <iostream>
#include <Windows.h>
#include <conio.h>
 
int main()
{
    int current_duty = 256;
    while (true)
    {
        char c;
        for (int i = 0; i <= 256; i++) {
            Sleep(500);
            PWM_Set_Duty(current_duty, i);
            std::cout << i << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B)  break;
            }
        }
        if (c == 0x1B) break;
        for (int i = 256; i >= 0; i--) {
            Sleep(500);
            PWM_Set_Duty(current_duty, 1);
            std::cout << i << "\n";
            if (_kbhit()) {
                c = _getch();
                if (c == 0x1B)  break;
            }
        }
        if (c == 0x1B) break;
    }
    std::cout << current_duty << std::endl;
    system("pause");
    return 0;
}
1
1 / 1 / 0
Регистрация: 30.01.2017
Сообщений: 111
01.03.2018, 18:06  [ТС]
Цитата Сообщение от Hitoku Посмотреть сообщение
вроде того
Спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2018, 18:06

Разработать функцию, заполняющую массив из 256 указателей
Дана произвольная строка символов. Разработать функцию, заполня- ющую массив из 256 указателей, указателями на первое вхождение символа...

Вывод чисел 1-256 в двоичной, восьмеричной и шестнадцатиричной системах
Программа моя работает, но не совсем правильно. Она переводит числа из десятичной системы в другие путем деления и вычисления остатка. ...

Переставить строку из рандомных 16 символов 256 раз случайным образом
Здравствуйте. Помогите пожалуйста! Нужна программа для рандомного переставления букв в различных 16 символах, которые введет сам...

Преобразование хэша в целое число и работа с хэшем (SHA 256)
Возникла проблемма при написании курсовой...Пишу программу Электронная подпись Эль Гамаля.Столкнулся с такой проблемой ,что ,когда я делаю...

Что означает длина простого числа 256 или 1024 бит?
Привет, товарищи! Вообщем вопрос такой. Хочу реализовать подпись ГОСТ Р34.10-94. В условии написано: Нужно рандомно взять 2 числа: q...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru