Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
maxNTF
1

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

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

Author24 — интернет-сервис помощи студентам
Люди пытаюсь писать красиво!
Посоветуйте как можно упростить такой страшный код
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;
            }
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2009, 13:21
Ответы с готовыми решениями:

Помогите упростить данный код
Не знаю как упростить((( #include <iostream.h> #include <math.h> #include <conio.h>...

Упростить код
Создавал раннее тему с таковой задачей:Нужен код для шифрования русскоязычного текста методом...

Упростить код
Добрый день, подскажите, можно ли упростить код (используя уровень знаний как в оригинале)?...

Упростить код
Как упростить вот такой код? Спасибо за внимание. #include <iostream> #include <conio.h>...

7
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
07.02.2009, 15:19 2
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
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;
0
Заблокирован
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;
лишнее && стояло, исправить сообщение почему-то было нельзя ^(
0
maxNTF
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;
Как Вам?
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
09.02.2009, 15:34 6
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях? Если остальных случаев не может быть, то этот код, по-моему, просто ничего не делает.
0
Заблокирован
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;
возможно так
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
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 нельзя (они могут иметь значения истинные, но не равные)
0
10.02.2009, 02:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2009, 02:53
Помогаю со студенческими работами здесь

Упростить код
доброго времени суток, я совсем новичок в С++ (да и в программировании) сейчас учусь по...

Упростить код
#include<iostream> using namespace std; int main() { int a, b, c, d = 0, g = 0, f = 0; cin >>...

Упростить код
Разработать рекурсивную функцию , возвращающую значение : для перевода числа из двоичной системы...

Упростить код
Имеется код, как можно сделать что бы подщёт шел не с аа а с 0 // 400.cpp: определяет точку входа...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru