Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

07.02.2009, 13:21. Просмотров 870. Ответов 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;
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2009, 13:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помогите упростить код? (C++):

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

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

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

Упростить код - C++
#include <iostream> #include <iomanip> using namespace std; int main() { size_t rowsCount; cout << "N: "; cin...

Упростить код - C++
Добрый день, подскажите, можно ли упростить код (используя уровень знаний как в оригинале)? #include <iostream> #include <time.h> ...

Упростить код - C++
Как упростить вот такой код? Спасибо за внимание. #include <iostream> #include <conio.h> using namespace std; int main() { ...

7
Somebody
2798 / 1609 / 149
Регистрация: 03.12.2007
Сообщений: 4,204
Завершенные тесты: 3
07.02.2009, 15:19 #2
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях?
0
accept
4831 / 3252 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
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
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;
лишнее && стояло, исправить сообщение почему-то было нельзя ^(
0
maxNTF
0 / 0 / 0
Регистрация: 01.02.2009
Сообщений: 3
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;
Как Вам?
0
Somebody
2798 / 1609 / 149
Регистрация: 03.12.2007
Сообщений: 4,204
Завершенные тесты: 3
09.02.2009, 15:34 #6
Здесь не все комбинации RA3, tim[0], RC2. Что в остальных случаях? Если остальных случаев не может быть, то этот код, по-моему, просто ничего не делает.
0
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;
возможно так
0
accept
4831 / 3252 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2009, 02:53
Привет! Вот еще темы с ответами:

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

Упростить код - C++
Добрый вечер! Есть задача: дан вещественный массив, определить номер столбца с наибольшим количеством положительных элементов. После...

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

упростить код - C++
есть решена задача, надо упростить, из того перебора в инструкции switch() на enum ( перечисленный тип, мб через рандом но чет не выходит...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru