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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maxNTF
Сообщений: n/a
#1

Помогите упростить код? - C++

07.02.2009, 13:21. Просмотров 842. Ответов 7
Метки нет (Все метки)

Люди пытаюсь писать красиво!
Посоветуйте как можно упростить такой страшный код
C++
1
2
3
4
5
6
7
8
9
        if(!RA3 && !tim[0] && !RC2) tim[0]=0xff;
        if(RA3 && !tim[0] && RC2) tim[0]=0xff; 
            if(RA3 && tim[0] && !RC2) tim[0]=0;
            if(!RA3 && tim[0] && RC2) tim[0]=0; 
        if(tim[0])
            {
            tim[0]--;
            if(!tim[0]) RC2=RA3^1;
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2009, 13:21     Помогите упростить код?
Посмотрите здесь:

C++ Упростить код
Упростить код C++
упростить код C++
C++ Упростить код
C++ Упростить код
Упростить код C++
C++ Упростить код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2778 / 1592 / 142
Регистрация: 03.12.2007
Сообщений: 4,175
Завершенные тесты: 1
07.02.2009, 15:19     Помогите упростить код? #2
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях?
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.02.2009, 14:50     Помогите упростить код? #3
C++
1
2
3
4
5
6
7
8
9
10
11
    if (!tim[0]) {
        if ((!RA3 && !RC2)
         || (RA3 && RC2))
            tim[0] = 0xff;
    } else {
        if ((RA3 && !RC2)
         || (!RA3 && RC2))
            tim[0] = 0;
    }
    if (tim[0] && --tim[0] == 0)
        RC2 = RA3^1;
rrrFer
Заблокирован
08.02.2009, 22:35     Помогите упростить код? #4
C++
1
2
3
4
if(!(RA3||RC2)||(RA3&&RC2))
    tim[0]=!tim[0]&&?0xff:0;
if(tim[0]&&!(--tim[0]))
    RC2=RA3^1;
не проверял

Добавлено через 6 часов 49 минут 33 секунды
C++
1
2
3
4
if(!(RA3||RC2)||(RA3&&RC2))   
    tim[0]=!tim[0]?0xff:0;   
if(tim[0]&&!(--tim[0]))   
    RC2=RA3^1;
лишнее && стояло, исправить сообщение почему-то было нельзя ^(
maxNTF
Сообщений: n/a
09.02.2009, 12:14     Помогите упростить код? #5
ОК! Спасибо люди!

Добавлено через 27 минут 37 секунд
Цитата Сообщение от rrrFer Посмотреть сообщение
C++
1
2
3
4
if(!(RA3||RC2)||(RA3&&RC2))   
    tim[0]=!tim[0]?0xff:0;   
if(tim[0]&&!(--tim[0]))   
    RC2=RA3^1;
Ваше сокрощение не работает.

Добавлено через 30 минут 48 секунд
Быстре всего это будет самый оптимальный вариант.
C++
1
2
3
    if(!tim[0])tim[0]=RA3==RC2?0xff:tim[0];    
else  tim[0]=RA3!=RC2?0:tim[0];    
if(tim[0]&&!(--tim[0]))RC2=RA3^1;
Как Вам?
Somebody
2778 / 1592 / 142
Регистрация: 03.12.2007
Сообщений: 4,175
Завершенные тесты: 1
09.02.2009, 15:34     Помогите упростить код? #6
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях? Если остальных случаев не может быть, то этот код, по-моему, просто ничего не делает.
rrrFer
Заблокирован
09.02.2009, 16:43     Помогите упростить код? #7
вот у вас
if(!tim[0])
tim[0]=RA3==RC2?0xff:tim[0];
т.е. если RA3!=RC2 то tim[0]=tim[0], не лучше tim[0]=0 ?
может и нет, просто интересно

и вобще зачем тут присваинвание, если значение tim[0] Не изменяется

Добавлено через 42 минуты 18 секунд
C++
1
2
tim[0]=(RA3==RC2&&!tim[0])?0xff:0;
if(tim[0]&&!(--tim[0]))RC2=RA3^1;
возможно так
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2009, 02:53     Помогите упростить код?
Еще ссылки по теме:

C++ Помогите упростить данный код
Упростить код C++
Упростить код C++
Упростить код C++
C++ Упростить код

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

Или воспользуйтесь поиском по форуму:
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.02.2009, 02:53     Помогите упростить код? #8
C++
1
2
3
4
5
    if (!tim[0] && (!RA3 == !RC2)){
        tim[0] = 0xff;
        RC2 = RA3^1;    
    } else if (tim[0])
        tim[0] = 0;
RA3 == RC2 нельзя (они могут иметь значения истинные, но не равные)
Yandex
Объявления
10.02.2009, 02:53     Помогите упростить код?
Ответ Создать тему
Опции темы

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