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

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

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

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

02.01.2014, 21:07. Просмотров 4045. Ответов 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
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
04.01.2014, 19:37  [ТС] #16
двигаемся дальше
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-1)/12 << " "<< 5*(k-1)%60;
}
размер кода 121

Добавлено через 10 минут
Цитата Сообщение от lemegeton Посмотреть сообщение
Если не трудно, объясните, пожалуйста, почему ваше решение верно?

Согласно условию задачи, если Василий видит в очереди одного человека, ждать ему нужно ровно открытия второй кассы -- пять минут. Ваше решение говорит, что ждать ему (1 * 5) - 5 = 0 минут.
Если Василий видит в очереди ноль человек, ваше решение рассчитает (0 * 5) - 5 = -5 минут ожидания.
C++
1
k*=5;
зашол в обсуждение и увидил надпись 16 Мозоленко Вячеслав Константинович, 09 мая 2012 г. 14:40:51
Все до тупого просто. Формула: 5(n - 1); - это в минутах, где n - номер в очереди. А потом целчисленным делением и его остатком разгоняете по часам.

Добавлено через 5 минут
двигаемся далее к-1 это k--;
=> приходим к коду
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 > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
}
Размер кода: 117

Добавлено через 10 секунд
двигаемся далее к-1 это k--;
=> приходим к коду
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 > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
}
Размер кода: 117

Добавлено через 13 минут
надо сократить строку
C++
1
k > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
как то типо так
C++
1
2
o<<( k>145 ? "NO" : //вот дальше проблемка
k/12 " " 5*k%60);
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
04.01.2014, 19:44 #17
C++
1
2
k--;
    k > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
C++
1
--k > 145 ? o<<"NO" : o <<k/12 << " "<< 5*k%60;
1
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
04.01.2014, 19:45  [ТС] #18
Цитата Сообщение от alsav22 Посмотреть сообщение
Его заранее, как input.txt, нельзя создать?

ошибка выходного!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! файла
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 19:51 #19
Цитата Сообщение от костя666674555 Посмотреть сообщение
ошибка выходного!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! файла
И что, что выходного? Ошибка в чём? Что не сущетсвует выходного файла? Я без понятия, где вы это делает, там может и нельзя выходной файл руками создавать (как input.txt).
0
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
05.01.2014, 12:27  [ТС] #20
Цитата Сообщение от alsav22 Посмотреть сообщение
И что, что выходного? Ошибка в чём? Что не сущетсвует выходного файла? Я без понятия, где вы это делает, там может и нельзя выходной файл руками создавать (как input.txt).
Что не сущетсвует выходного файла?
да!

Добавлено через 3 минуты
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
костя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 сивол
0
TanaTiX
11.01.2014, 14:25
  #22

Не по теме:

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

1
R1987
13 / 13 / 2
Регистрация: 09.12.2012
Сообщений: 63
11.01.2014, 17:52 #23
Цитата Сообщение от TanaTiX Посмотреть сообщение
Не по теме:
Пробелы и символы новой строки? =)
И названия файлов...
0
костя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
как короче?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24115 / 16096 / 4896
Регистрация: 22.10.2011
Сообщений: 28,538
Записей в блоге: 5
14.01.2014, 21:37 #25
C++
1
(s==b ? b:a).erase(0,1);
Размер кода = 179
1
костя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 спасибо!
0
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 09:46 #27
Вы не написали в чем еще сократили код, может это то же самое напишу, но:
C++
1
o << (a+'A'>b+'B' ? b:a)[0];
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);
0
ShadowFirst
55 / 48 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 19:30 #29
Странно, прежде чем написать эту строчку сюда проверил все работало.
0
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
15.01.2014, 22:25  [ТС] #30
не будет выполнятся строка
C++
1
(s==b ? b:a).erase(0,1);
0
15.01.2014, 22:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2014, 22:25
Привет! Вот еще темы с ответами:

Сократить код, переделав 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 элементами, нужно добавить больше функций, и миксимально его сократить... что можно...


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

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

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