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

Сократить код. Задача про сравнение символов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.61
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
02.01.2014, 21:07     Сократить код. Задача про сравнение символов #1
набросал решение вышесказаной задачи вот код
C++
1
2
3
4
5
6
7
#include <fstream>
main(int k){
    std::fstream i("input.txt"),o("output.txt", 2);
    i>> k;
    k = k * 5 - 5;
    k > 720 ? o<<"NO" : o <<k / 60 << " "<< k % 60;
}
с удивлением обнаружил что я на 6 месте по коду
Размер кода: 119
но есть код (с++) и короче 114 символов как?
помогите мне сократить код (убрать 4-5 символов)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
11.01.2014, 13:23  [ТС]     Сократить код. Задача про сравнение символов #21
C++
1
2
3
4
5
6
#include <fstream>
main(int k){
    std::fstream i("input.txt"),o("output.txt", 2);
    i>> k;
    k-- > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
}
Размер кода 115 символов
хотябы на 1 сивол
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanaTiX
11.01.2014, 14:25
  #22

Не по теме:

Пробелы и символы новой строки? =)

R1987
 Аватар для R1987
13 / 13 / 2
Регистрация: 09.12.2012
Сообщений: 63
11.01.2014, 17:52     Сократить код. Задача про сравнение символов #23
Цитата Сообщение от TanaTiX Посмотреть сообщение
Не по теме:
Пробелы и символы новой строки? =)
И названия файлов...
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
14.01.2014, 20:50  [ТС]     Сократить код. Задача про сравнение символов #24
всем привет нашол на форумах решение задачи №5** с acmp немного сокрратил и получил
3 место язык с++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<string>
#include<fstream>
main()
{
std::fstream i("input.txt"),o("output.txt",2);
std::string a,b,s;
i>>a>>b;
while(a+b>"")
{
s=a;
if (a+'A'>b+'B') s=b;
o<<s[0];
s==b ? b.erase(0,1) : a.erase(0,1);
}
}
Размер кода: 188
как короче?
volvo
Супер-модератор
 Аватар для volvo
21834 / 14197 / 3958
Регистрация: 22.10.2011
Сообщений: 25,089
Записей в блоге: 2
14.01.2014, 21:37     Сократить код. Задача про сравнение символов #25
C++
1
(s==b ? b:a).erase(0,1);
Размер кода = 179
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
15.01.2014, 08:45  [ТС]     Сократить код. Задача про сравнение символов #26
Цитата Сообщение от UI Посмотреть сообщение
C++
1
(s==b ? b:a).erase(0,1);
Размер кода = 179
ты Владимир К ?

Добавлено через 18 минут
сократил до 176 спасибо!
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 09:46     Сократить код. Задача про сравнение символов #27
Вы не написали в чем еще сократили код, может это то же самое напишу, но:
C++
1
o << (a+'A'>b+'B' ? b:a)[0];
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
15.01.2014, 15:47  [ТС]     Сократить код. Задача про сравнение символов #28
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Вы не написали в чем еще сократили код, может это то же самое напишу, но:
C++
1
o << (a+'A'>b+'B' ? b:a)[0];
ваш код работать не будет

Добавлено через 2 минуты
не будет выполнятся строка (s==b ? b:a).erase(0,1);
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 19:30     Сократить код. Задача про сравнение символов #29
Странно, прежде чем написать эту строчку сюда проверил все работало.
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
15.01.2014, 22:25  [ТС]     Сократить код. Задача про сравнение символов #30
не будет выполнятся строка
C++
1
(s==b ? b:a).erase(0,1);
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
16.01.2014, 01:32     Сократить код. Задача про сравнение символов #31
А если так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<string>
#include<fstream>
main()
{
std::fstream i("input.txt"),o("output.txt",2);
std::string a,b;
bool f;
i>>a>>b;
while(a+b>"")
{
f = a+'A'>b+'B';
o << (f ? b:a)[0];
(f ? b:a).erase(0,1);
}
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.01.2014, 16:41     Сократить код. Задача про сравнение символов #32
Цитата Сообщение от R1987 Посмотреть сообщение
И названия файлов...
В этом случае вряд ли будет проходить тесты на проверяющей системе.
S_el
1908 / 1503 / 296
Регистрация: 15.12.2013
Сообщений: 5,923
16.01.2014, 17:54     Сократить код. Задача про сравнение символов #33
k в каком диапазоне меняется?
Ev_Hyper
 Аватар для Ev_Hyper
1808 / 1629 / 435
Регистрация: 15.12.2013
Сообщений: 5,800
16.01.2014, 18:03     Сократить код. Задача про сравнение символов #34
VS 2012 -
отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
16.01.2014, 18:06     Сократить код. Задача про сравнение символов #35
Цитата Сообщение от костя666674555 Посмотреть сообщение
5*k%60
k%12
S_el
1908 / 1503 / 296
Регистрация: 15.12.2013
Сообщений: 5,923
16.01.2014, 18:07     Сократить код. Задача про сравнение символов #36
Цитата Сообщение от MrGluck Посмотреть сообщение
k%12
не подойдет
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,064
16.01.2014, 18:08     Сократить код. Задача про сравнение символов #37
Цитата Сообщение от костя666674555 Посмотреть сообщение
main(int k)
а что такой прототип возможен?
S_el
1908 / 1503 / 296
Регистрация: 15.12.2013
Сообщений: 5,923
16.01.2014, 18:09     Сократить код. Задача про сравнение символов #38
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не прототип
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
16.01.2014, 18:11     Сократить код. Задача про сравнение символов #39
Кстати, если проверяющий компилятор пропустил такое безобразие как main без типа, то мб он разрешит и такое:
C++
1
2
#include <fstream.h>
fstream i("input.txt"),o("output.txt", 2);
Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не по стандарту и не все компиляторы данное безобразие понимают. Тем не менее, такой грязный хак очень часто используется и настоящих спортивных программистов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 18:11     Сократить код. Задача про сравнение символов
Еще ссылки по теме:

C++ Сократить количество символов кода

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,064
16.01.2014, 18:11     Сократить код. Задача про сравнение символов #40
Цитата Сообщение от S_el Посмотреть сообщение
это не прототип
а что это?
Yandex
Объявления
16.01.2014, 18:11     Сократить код. Задача про сравнение символов
Ответ Создать тему
Опции темы

Текущее время: 11:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru