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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.61
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
#1

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

02.01.2014, 21:07. Просмотров 3818. Ответов 81
Метки нет (Все метки)

набросал решение вышесказаной задачи вот код
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
22346 / 14523 / 4119
Регистрация: 22.10.2011
Сообщений: 25,725
Записей в блоге: 3
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++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.01.2014, 16:41     Сократить код. Задача про сравнение символов #32
Цитата Сообщение от R1987 Посмотреть сообщение
И названия файлов...
В этом случае вряд ли будет проходить тесты на проверяющей системе.
S_el
2063 / 1570 / 301
Регистрация: 15.12.2013
Сообщений: 6,203
16.01.2014, 17:54     Сократить код. Задача про сравнение символов #33
k в каком диапазоне меняется?
Ev_Hyper
Заблокирован
16.01.2014, 18:03     Сократить код. Задача про сравнение символов #34
VS 2012 -
отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6222 / 3467 / 424
Регистрация: 29.11.2010
Сообщений: 9,177
16.01.2014, 18:06     Сократить код. Задача про сравнение символов #35
Цитата Сообщение от костя666674555 Посмотреть сообщение
5*k%60
k%12
S_el
2063 / 1570 / 301
Регистрация: 15.12.2013
Сообщений: 6,203
16.01.2014, 18:07     Сократить код. Задача про сравнение символов #36
Цитата Сообщение от MrGluck Посмотреть сообщение
k%12
не подойдет
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,300
16.01.2014, 18:08     Сократить код. Задача про сравнение символов #37
Цитата Сообщение от костя666674555 Посмотреть сообщение
main(int k)
а что такой прототип возможен?
S_el
2063 / 1570 / 301
Регистрация: 15.12.2013
Сообщений: 6,203
16.01.2014, 18:09     Сократить код. Задача про сравнение символов #38
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не прототип
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6222 / 3467 / 424
Регистрация: 29.11.2010
Сообщений: 9,177
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++ Сократить код до 101 - 120 символов
Скажите, пожалуйста, возможно ли код сократить еще? C++
C++ Сократить код. Задача про туриста
C++ Сократить количество символов кода
C++ Сократить код, переделав if

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

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

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