Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2014, 09:38   #11
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Для завышения своего ЧСВ )
Считаю главным, чтобы задача решалась, а уж потом ЧСВ
Незачем, исходя из этого сокращать 10-ти строчный код до 2 строк(если только очень уж надо, или стоит задача сократить до...) .
Таков мой личный подход к делу.

Если уж очень надо сократить, вариант на pascal на 2 строки короче

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Код сокращать вообще никогда не надо.
Если и есть какие-то метрики кода, то краткость где-то в самом конце, а в начале - правильность работы.
Полностью согласен, вндь главное -чтоб работало правилььно.
Помог ответ-жми весы

Последний раз редактировалось Stilet; 26.03.2014 в 10:57.
Bruto вне форума Ответить с цитированием
Старый 26.03.2014, 10:18   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Bruto Посмотреть сообщение
_
Цитата:
Сообщение от Bruto Посмотреть сообщение
_
Цитата:
Сообщение от Bruto Посмотреть сообщение
_
Форум не чат, пользуйтесь кнопкой .
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.03.2014, 11:03   #13
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Bruto
на acmp не строчки считаются, а символы.
Ну вроде бы сайт олимпиадный, сайт для школьников и очень хороший. Но метрики у них ущербные... Почему на олимпиадах по программированию символы не считают? - ну правильно, потому что не дураки олимпиады проводят и спонсируют.

Ничего плохого в метриках нет. Но есть в желании чем-нибудь мериться. У кого член короче - выходит на acmp и самореабилитируется. Нормальные люди туда тоже заходят, но они за число символов не беспокоятся.
rrrFer вне форума Ответить с цитированием
Старый 26.03.2014, 11:11   #14
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Лично я против попыток померять код как-либо, кроме работоспособности, а школьников иногда просто заставляют писать именно коротко, чтоб системный комплятор на acmp, к примеру, мог анализировать задачку, вот оттуда все и идет
Цитата:
форум не чат
Издеваться не собирался, прошу меня извенить, произошла техническая накладка, ввиду чего не мог полноценно
видеть, как отображаются мои сообщения на форуме, впредь буду соблюдать все правила.
Цитата:
можно "померять" код по быстродействию, кроссплатформенности, документированности, легкочитаемости, потенциальной расширямости и еще куче факторов.
Когда говорим "померить" код, подразумеваем, что прверку на быстродействе, читаемрсть и т д. он проходит, если стоит такая задача, равно как и остальные поставленные успешно выполняет.
Я против замерения типа: "короче\длиннее==хуже\лучше " в том случае, когда очевидной необходимости в изменении длинны кода таки нет.
Вот деградация, это когда человек не спасобен решить объясненную на acmp, к примеру, задачу и ищет причину переделать ее как угодно только бы поменьше писать(не столь важно, что не получит правильного ответа), то есть - пытается обмануть судьбу, но обманет себя.
Личное мнение.
Помог ответ-жми весы

Последний раз редактировалось Bruto; 26.03.2014 в 13:04.
Bruto вне форума Ответить с цитированием
Старый 26.03.2014, 12:32   #15
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Лично я против попыток померять код как-либо, кроме работоспособности
можно "померять" код по быстродействию, кроссплатформенности, документированности, легкочитаемости, потенциальной расширямости и еще куче факторов.

ТС например, использует system, а значит код не переносится (или очень плохо переносится).
Нет ни одной строчки комментария.
Вот это "for /f \"tokens=1,2\" %a " не очень легко читается и уж совсем плохо расширяется (под расширяемостью имею ввиду возможность адаптация под всякие изменения в условиях).

Метрики кода нужны, однозначно. Есть там какой-то показатель типа "отношения количества строк с комментариями к общему числу строк". Все эти штуки надуманные, но чаще всего таки работают.

Цитата:
Считаю главным, чтобы задача решалась, а уж потом ЧСВ
Кстати, если большая беда с ЧСВ - можно решить много задач с acmp (или даже все задачи). Но ТС уже черт знает сколько времени укорачивает сложение двух чисел xD. Мне кажется, это деградация.

Последний раз редактировалось rrrFer; 26.03.2014 в 12:35.
rrrFer вне форума Ответить с цитированием
Старый 26.03.2014, 16:51   #16
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

ну так код что сократить можно?
kostan3 вне форума Ответить с цитированием
Старый 26.03.2014, 19:00   #17
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Цитата:
Сообщение от kostan3 Посмотреть сообщение
ну так код что сократить можно?
Не нужно.
Задача пройдет в том виде, как я ее написал.
Сокращать сильнее==не получишь реально правильный ответ.
Код и так мелкий, срезать нечего
Код:
#include <stdio.h>  //основная библиотека 
long a,b; // переменные
int main(){ // без этого вообще не программa 
**freopen("input.txt","r",stdin); //входной файл
**freopen("output.txt","w",stdout); //выходной 
**scanf("%ld%ld",&a,&b);  //чтение с клавы формат того что и как читаем
**printf("%ld",a+b);  // главная операция над переменными и подача результата на cтандартный ввод\вывод
**return 0; // без этого тоже не программа даже
}
Что резать то, kostan3 ?
rrrFer тебе сказал, как делать не надо, я с ним согласен, то есть делай так, чтоб работало, тогда и acmp страшен не будет.
В Этой программе все части важны и используются, лишних нет.
Если очень хочешь что-нибудь оторвать - вольному - воля, но работать не будет.
Вариант, который я раскомментировал проходит на acmp, есть варианты короче (но на pascal, а это уже офтоп), так что подумай, стоит ли судьбу обманывать .
Помог ответ-жми весы

Последний раз редактировалось Bruto; 27.03.2014 в 09:36.
Bruto вне форума Ответить с цитированием
Старый 27.03.2014, 19:50   #18
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Bruto
Если интересно мое мнение, то в твоей программе переменные a и b не должны быть глобальными. Не уверен, но файлы должны закрываться.
scanf - опасная функция и ее луше не использовать. Опасная в том, что не проверят соответствие этих %ld типам переменных.
Ну и return 0; можно не писать уже (но это самая мелочь)
rrrFer вне форума Ответить с цитированием
Старый 27.03.2014, 21:38   #19
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Bruto Посмотреть сообщение
Не нужно.
Задача пройдет в том виде, как я ее написал.
Сокращать сильнее==не получишь реально правильный ответ.
Код и так мелкий, срезать нечего
Код:
#include <stdio.h>  //основная библиотека 
long a,b; // переменные
int main(){ // без этого вообще не программa 
**freopen("input.txt","r",stdin); //входной файл
**freopen("output.txt","w",stdout); //выходной 
**scanf("%ld%ld",&a,&b);  //чтение с клавы формат того что и как читаем
**printf("%ld",a+b);  // главная операция над переменными и подача результата на cтандартный ввод\вывод
**return 0; // без этого тоже не программа даже
}
Что резать то, kostan3 ?
rrrFer тебе сказал, как делать не надо, я с ним согласен, то есть делай так, чтоб работало, тогда и acmp страшен не будет.
В Этой программе все части важны и используются, лишних нет.
Если очень хочешь что-нибудь оторвать - вольному - воля, но работать не будет.
Вариант, который я раскомментировал проходит на acmp, есть варианты короче (но на pascal, а это уже офтоп), так что подумай, стоит ли судьбу обманывать .
Код:
#include <fstream>

std::fstream f("input.txt"), w("output.txt",2);
main(){
int a,b;
f>>a>>b;
w<<a+b;
}
у меня глаза кровью наливаются когда я такой код вижу (зачем вам звёздочки?)
kostan3 вне форума Ответить с цитированием
Старый 27.03.2014, 22:02   #20
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

как видете код ещё можно ужать ВОТ!
kostan3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи #71 на acmp.ru Poma][a Паскаль, Turbo Pascal, PascalABC.NET 9 28.08.2013 22:09
acmp.ru заглох ? RIKISHI007 Свободное общение 14 04.08.2013 13:41
Реализация. Строки. ACMP yutr777 Помощь студентам 1 02.08.2013 16:35
Олимпиадные Задачи (с acmp.ru) Poma][a Паскаль, Turbo Pascal, PascalABC.NET 7 20.12.2012 07:44
жестокие батники Артем_Назаренко Помощь студентам 0 17.12.2009 17:29