Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/37: Рейтинг темы: голосов - 37, средняя оценка - 4.78
-3 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
1

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

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

Author24 — интернет-сервис помощи студентам
набросал решение вышесказаной задачи вот код
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 символов)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2014, 21:07
Ответы с готовыми решениями:

Сократить код. Задача про туриста
всем привет есть задача Турист (Время: 1 сек. Память: 16 Мб Сложность: 22%) Гена собирается...

Сократить код до 101 - 120 символов
есть задача ! есть код #include &lt;fstream&gt; int main(){ std::fstream...

задача про последовательность символов
Здравствуйте, помогите пожалуйста решить задачку на шарпе. На паскале задаче решена, а вот с...

Стоит задача сравнение и подсчета символов строки.
Стоит задача сравнение и подсчета символов строки. Получается, сравнить только всю строку....

81
-3 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
11.01.2014, 13:23  [ТС] 21
Author24 — интернет-сервис помощи студентам
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 сивол
0
TanaTiX
11.01.2014, 14:25
  #22

Не по теме:

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

1
13 / 13 / 7
Регистрация: 09.12.2012
Сообщений: 63
11.01.2014, 17:52 23
Цитата Сообщение от TanaTiX Посмотреть сообщение
Не по теме:
Пробелы и символы новой строки? =)
И названия файлов...
0
-3 / 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
как короче?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
14.01.2014, 21:37 25
C++
1
(s==b ? b:a).erase(0,1);
Размер кода = 179
1
-3 / 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 спасибо!
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 09:46 27
Вы не написали в чем еще сократили код, может это то же самое напишу, но:
C++
1
o << (a+'A'>b+'B' ? b:a)[0];
0
-3 / 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);
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
15.01.2014, 19:30 29
Странно, прежде чем написать эту строчку сюда проверил все работало.
0
-3 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
15.01.2014, 22:25  [ТС] 30
не будет выполнятся строка
C++
1
(s==b ? b:a).erase(0,1);
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
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);
}
}
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
16.01.2014, 16:41 32
Цитата Сообщение от R1987 Посмотреть сообщение
И названия файлов...
В этом случае вряд ли будет проходить тесты на проверяющей системе.
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
16.01.2014, 17:54 33
k в каком диапазоне меняется?
0
Заблокирован
16.01.2014, 18:03 34
VS 2012 -
отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.01.2014, 18:06 35
Цитата Сообщение от костя666674555 Посмотреть сообщение
5*k%60
k%12
1
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
16.01.2014, 18:07 36
Цитата Сообщение от MrGluck Посмотреть сообщение
k%12
не подойдет
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
16.01.2014, 18:08 37
Цитата Сообщение от костя666674555 Посмотреть сообщение
main(int k)
а что такой прототип возможен?
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
16.01.2014, 18:09 38
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не прототип
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.01.2014, 18:11 39
Кстати, если проверяющий компилятор пропустил такое безобразие как main без типа, то мб он разрешит и такое:
C++
1
2
#include <fstream.h>
fstream i("input.txt"),o("output.txt", 2);
Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не по стандарту и не все компиляторы данное безобразие понимают. Тем не менее, такой грязный хак очень часто используется и настоящих спортивных программистов.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
16.01.2014, 18:11 40
Цитата Сообщение от S_el Посмотреть сообщение
это не прототип
а что это?
0
16.01.2014, 18:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2014, 18:11
Помогаю со студенческими работами здесь

Сравнение символов через код символа
есть задание выбрать неповторяющиеся символы и расположить в порядке убывания их кодов. с первым...

Подправить код задачи про замену символов групп
В заданной строке заменить группу символов 'abc' на 'abcd' Почему не правильно? var s:string;...

Задача про Лабиринты, необходим код на java
Задача 35. Лабиринт задается матрицей смежности N*N, где C(i,j)=1, если узел i связан узлом j...

Каждое слово строки состоящее более, чем из 8 символов, сократить до первых 8 символов
Нуждаюсь в помощи. Нужно написать программу на C++(в принципе, и на Си можно) которая делает...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru