Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

02.01.2014, 21:07. Просмотров 4016. Ответов 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 символов)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 21:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сократить код. Задача про сравнение символов (C++):

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

Сократить код до 101 - 120 символов - C++
есть задача ! есть код #include &lt;fstream&gt; int main(){ std::fstream q(&quot;input.txt&quot;),o(&quot;output.txt&quot;,2); int n,a,i,j,s=0; q&gt;&gt;n; ...

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

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

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

Сократить количество символов кода - C++
#include &lt;fstream&gt; using namespace std; int main(){ifstream f(&quot;input.txt&quot;); ofstream c(&quot;output.txt&quot;); int a,m,q,r=0; f&gt;&gt;a; ...

81
ShadowFirst
55 / 48 / 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);
}
}
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.01.2014, 16:41 #32
Цитата Сообщение от R1987 Посмотреть сообщение
И названия файлов...
В этом случае вряд ли будет проходить тесты на проверяющей системе.
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,579
16.01.2014, 17:54 #33
k в каком диапазоне меняется?
0
Ev_Hyper
Заблокирован
16.01.2014, 18:03 #34
VS 2012 -
отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,605
16.01.2014, 18:06 #35
Цитата Сообщение от костя666674555 Посмотреть сообщение
5*k%60
k%12
1
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,579
16.01.2014, 18:07 #36
Цитата Сообщение от MrGluck Посмотреть сообщение
k%12
не подойдет
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,215
16.01.2014, 18:08 #37
Цитата Сообщение от костя666674555 Посмотреть сообщение
main(int k)
а что такой прототип возможен?
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,579
16.01.2014, 18:09 #38
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не прототип
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,605
16.01.2014, 18:11 #39
Кстати, если проверяющий компилятор пропустил такое безобразие как main без типа, то мб он разрешит и такое:
C++
1
2
#include <fstream.h>
fstream i("input.txt"),o("output.txt", 2);
Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
а что такой прототип возможен?
это не по стандарту и не все компиляторы данное безобразие понимают. Тем не менее, такой грязный хак очень часто используется и настоящих спортивных программистов.
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,215
16.01.2014, 18:11 #40
Цитата Сообщение от S_el Посмотреть сообщение
это не прототип
а что это?
0
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
16.01.2014, 18:11  [ТС] #41
Цитата Сообщение от MrGluck Посмотреть сообщение
Кстати, если проверяющий компилятор пропустил такое безобразие как main без типа, то мб он разрешит и такое:
C++
1
2
#include <fstream.h>
fstream i("input.txt"),o("output.txt", 2);
Добавлено через 1 минуту

это не по стандарту и не все компиляторы данное безобразие понимают. Тем не менее, такой грязный хак очень часто используется и настоящих спортивных программистов.
нет такое он не разрешает
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,579
16.01.2014, 18:12 #42
Цитата Сообщение от ValeryS Посмотреть сообщение
а что это?
Обычный main только без возвращаемого типа
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,215
16.01.2014, 18:19 #43
Цитата Сообщение от MrGluck Посмотреть сообщение
это не по стандарту и не все компиляторы данное безобразие понимают.
дак компиляторы то бог с ним
а как система?
какой аргумент она отдаст майну? имя программы? перевод строки?
как поведет себя стартовый код, который до майна исполняется?
Цитата Сообщение от MrGluck Посмотреть сообщение
и настоящих спортивных программистов.
а в чем спорт? написать как можно меньше букв? эдак все переменные пообъявляем одной буквой переводы строки уберем, от чего ушли к тому и пришли, нечитаемый листинг
плюс еще наплевательское отношение к стандарту
я еще понимаю чтобы сгенерированый код был меньше, быстродействие выше
а так? не понимаю
0
TrueBit
96 / 96 / 12
Регистрация: 19.11.2012
Сообщений: 195
16.01.2014, 18:21 #44
Цитата Сообщение от костя666674555 Посмотреть сообщение
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 сивол
а разве значение k в строке
C++
1
 k-- > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
не будет уменьшено только после вывода строки ?
насколько помню k-- такая запись вначале подставит значение k в выражение, а затем уменьшит, а такая: --k вначале уменьшит k, а затем подставит в выражение, но тогда k-- не несет никакой смысловой нагрузки, поскольку после вывода программа завершается

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;
}
P.S.
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <fstream>
using namespace std;
 
int main(){
    int k=145;
    k > 145 ? cout << "YES\n" : cout << "NO\n";
    k-- > 145 ? cout << "YES\n" : cout << "NO\n";
}
вывод:
Код
NO
NO
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <fstream>
using namespace std;
 
int main(){
    int k=146;
    k > 145 ? cout << "YES\n" : cout << "NO\n";
    k-- > 145 ? cout << "YES\n" : cout << "NO\n";
}
вывод:
Код
YES
YES
т.е. k либо k-- эквивалентно в конце программы
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,215
16.01.2014, 18:21 #45
Цитата Сообщение от S_el Посмотреть сообщение
Обычный main только без возвращаемого типа
ткни мне в стандарте чтобы main так описывался, что это за аргументы
и что значит без возвращаемого типа, это что конструктор?
майн в любом случае должен что то возвращать
int в С++ int или void в С
0
16.01.2014, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 18:21
Привет! Вот еще темы с ответами:

Сократить код, переделав if - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #pragma hdrstop #pragma argsused using namespace std; int main(int argc, char* argv) ...

Можно ли еще сократить код? - C++
Есть программа, которая должна считать данные из файла input.txt и записать ответ в фаил output.txt. Программа должна сложить 2 числа не...

Сократить код на два символа - C++
сокртить код #include &lt;fstream&gt; main(int n) { std::fstream I(&quot;input.txt&quot;), O(&quot;output.txt&quot;, 2); I&gt;&gt;n; O&lt;&lt;(n &lt;=0 ? (n - n*n) / 2...

сократить код, добавить функцию - C++
Есть код, замены местами столбцов с min и max элементами, нужно добавить больше функций, и миксимально его сократить... что можно...


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

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Опции темы

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