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

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

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

Поделитесь советом. Как сократить еще 1 символ. =) - C++

10.02.2014, 15:37. Просмотров 293. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1, a/=2);
    o<<g%3;
Подскажите, пожалуйста, реально ли укоротить ее еще? )))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поделитесь советом. Как сократить еще 1 символ. =) (C++):

Можно ли еще сократить код? - C++
Есть программа, которая должна считать данные из файла input.txt и записать ответ в фаил output.txt. Программа должна сложить 2 числа не...

Скажите, пожалуйста, возможно ли код сократить еще? - C++
Вот код моей программы. #include &lt;fstream&gt; int a,b,c; main(){ std::fstream i(&quot;input.txt&quot;),o(&quot;output.txt&quot;, 2); i&gt;&gt;a&gt;&gt;b&gt;&gt;c; ...

Массив строк. Определить количество слов, у которых первый символ встречается в слове еще хотя бы один раз - C++
Помогите, пожалуйста, с задачей: Дан текст из нескольких строк. Определить количество слов, у которых первый символ встречается в слове...

Как сократить до инициалов? - C++
Нужно сократить например Фамилия Имя Отчество до Фамилия И. О. Пожалуйста, подскажите или напишите как это сделать.

Как сократить запись? - C++
Всем привет! Пишу ASCII-игру и вот такой вопросик по коду: while(brk) play(level1); brk = 1; while(brk) play(level2); brk =...

Как сократить запись? - C++
Здравствуйте, дорогие форумчане! Имеется вот такой код: for(int i = 0; i &lt; n; i++) { int t; in &gt;&gt; t; // как сократить эти ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
10.02.2014, 15:43 #2
Пробел убрать, а можно так если не ошибся:
C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1)a/=2;
    o<<g%3;
0
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
10.02.2014, 15:47 #3
C++
1
a/=2
Лучше использовать побитовый сдвиг. Работает шустрее:
0
SatanaXIII
10.02.2014, 15:48
  #4

Не по теме:

Ilot, это оффтоп.

0
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
10.02.2014, 15:51 #5
Может тогда так?
C++
1
2
3
c>>a;
    while(g+=--a&1)--a;
    o<<g%3;
Хотя надо бы проверить будет ли это работать так же как и исходная программа...
0
Pavlov_Mikhail
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 20
10.02.2014, 18:17  [ТС] #6
Цитата Сообщение от mustimur Посмотреть сообщение
Пробел убрать, а можно так если не ошибся:
C++
1
2
3
4
c>>a;
    a--;
    while(g+=a&1)a/=2;
    o<<g%3;
пробелы не в счет. иначе следует весь код в одну строчку слить )))
так цикл не остановится. если g>0 то он будет виснуть

Добавлено через 2 минуты
Цитата Сообщение от Ilot Посмотреть сообщение
Может тогда так?
C++
1
2
3
c>>a;
    while(g+=--a&1)--a;
    o<<g%3;
Хотя надо бы проверить будет ли это работать так же как и исходная программа...
здесь на каждом шаге происходит двойное отнимание, а следует делить. да и цикл тоже не остановится при g>0
0
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
10.02.2014, 20:15 #7
А если так:
C++
1
while(g+=a=a<<1&1);
0
Pavlov_Mikhail
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 20
11.02.2014, 10:54  [ТС] #8
Цитата Сообщение от mustimur Посмотреть сообщение
А если так:
C++
1
while(g+=a=a<<1&1);
результат другой. я сделал по другому, но wa1, хотя при сравнение работы программ рабочей-длинной и рабочей-короткой ответ один и тот же. код
C++
1
2
for (I >> a, a--; g += a & 1, a /= 2;);
    O << g % 3;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2014, 10:54
Привет! Вот еще темы с ответами:

Путь к файлу, как сократить? - C++
Добрый день, Поисковик ответа не дал. Необходимо создать файл в папке, находящейся в корневом каталоге программы. Т.е. , к примеру,...

Как можно сократить массив? - C++
Как можно сократить масив? К примеру есть масив: A =...

Корбен_Даллас-- //Как сократить текст пр-мы?))) - C++
Здравствуйте) Подозреваю о существовании указателей, но нигде не могу найти инф-ии как это использовать для сокращения кода (наверное...

Как сократить время работы программы?! - C++
Нужно сократить время работы программы по вычислению чисел Фибоначчи: Вот мой код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.02.2014, 10:54
Ответ Создать тему
Опции темы

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