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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
#1

Можно ли еще сократить код? - C++

07.07.2013, 21:30. Просмотров 1683. Ответов 38
Метки нет (Все метки)

Есть программа, которая должна считать данные из файла input.txt и записать ответ в фаил output.txt. Программа должна сложить 2 числа не превосходящих 10^9. Можно ли еще уменьшить код??
C++
1
2
3
4
5
6
7
8
9
#include <fstream>
long a,b; 
main()
{
    std::ifstream cin("input.txt");
    std::ofstream cout("output.txt");
    cin>>a>>b;
    cout<<a+b;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 21:33     Можно ли еще сократить код? #2
Файловым птокам не нужно давать такие имена. Это имена страндартных потоков для консольного ввода\вывода.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.07.2013, 21:38     Можно ли еще сократить код? #3
C++
1
2
3
4
   freopen("input.txt","r",stdin);
   freopen("output.txt","w",stdout);
   cin >> a >> b;
   cout << a + b;
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 21:39     Можно ли еще сократить код? #4
Thinker, и в чём уменьшение?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.07.2013, 21:41     Можно ли еще сократить код? #5
Цитата Сообщение от alsav22 Посмотреть сообщение
в чём уменьшение?
это более логично. хотя, уменьшения кода нет. короче сделать вряд ли можно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 21:44     Можно ли еще сократить код? #6
Цитата Сообщение от Thinker Посмотреть сообщение
это более логично
Если не трудно, объясните в чём? Не догоняю...
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.07.2013, 21:45     Можно ли еще сократить код? #7
Цитата Сообщение от Nikko12 Посмотреть сообщение
Можно ли еще уменьшить код??
Уберите 10 и 11 строки А вообще, по какому критерию уменьшить надо?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.07.2013, 21:49     Можно ли еще сократить код? #8
alsav22, легче отлаживать программы. достаточно закомментировать freopen и выводить на консоль. хм... там тоже так можно, но называть собственные потоки именами стандартных как то не то (внутренние убеждения )
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 22:01     Можно ли еще сократить код? #9

Не по теме:

Немного хочется сказать о перенаправлении потоков. Есть такая рекомендацпия, что код должен быть легко читаем и понимаем. В частности, имена переменных должны подсказывать из назначение. Если в коде встречается поток с именем cin, то первая буква его имени подсказывает, что чтение с консоли, если - cout, то вывод на консоль. При перенаправлении стандартных потоков только добавляется лишняя путаница. А что это, собственно, добавляет к эфективность (или чему-либо ещё) кода?



Цитата Сообщение от Tulosba Посмотреть сообщение
Уберите 10 и 11 строки
Можно ещё одной строкой всё записать...

Добавлено через 3 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
А вообще, по какому критерию уменьшить надо?
Может предложить вариант хоть по какому-либо?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.07.2013, 22:04     Можно ли еще сократить код? #10
alsav22, freopen чаше используется для олимпиадных задач для уменьшения кода.
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
07.07.2013, 22:13  [ТС]     Можно ли еще сократить код? #11
Цитата Сообщение от Tulosba Посмотреть сообщение
Уберите 10 и 11 строки А вообще, по какому критерию уменьшить надо?
Критерий уменьшения: чем меньше символов тем лучше, символ пробела не учитывается их можно ставить сколько душе угодно.

Добавлено через 1 минуту
Т. Е. нужно помаксимуму минимизировать кол-во символов. Правильно ли я понимаю, что на с++ уменьшить размер кода больше нет возможности???
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 22:18     Можно ли еще сократить код? #12
Цитата Сообщение от Nikko12 Посмотреть сообщение
уменьшить размер кода
Файла .cpp или файла .exe?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.07.2013, 22:19     Можно ли еще сократить код? #13
Цитата Сообщение от Nikko12 Посмотреть сообщение
нужно помаксимуму минимизировать кол-во символов
тогда можно как минимум long заменить на int (если гарантировать 32 разряда), и имена переменных изменить на однобуквенные.
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
07.07.2013, 22:22  [ТС]     Можно ли еще сократить код? #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Файла .cpp или файла .exe?
Фаил срр

Добавлено через 1 минуту
Tulosba, Long на int заменить не получится
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2013, 22:23     Можно ли еще сократить код?
Еще ссылки по теме:
C++ Сократить код до 101 - 120 символов
C++ Сократить код. Задача про туриста
Можно ли как-то сократить объявления using в начале программы? C++
Сократить код. Задача про сравнение символов C++
C++ Сократить код ( Вырубка деревьев (Время: 1 сек. Память: 16 Мб Сложность: 46%)

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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.07.2013, 22:23     Можно ли еще сократить код? #15
Цитата Сообщение от Nikko12 Посмотреть сообщение
Фаил срр
C++
1
2
3
4
std::ifstream r("i");
std::ofstream w("o");
r>>a>>b;
w<<a+b;
Yandex
Объявления
07.07.2013, 22:23     Можно ли еще сократить код?
Ответ Создать тему
Опции темы

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