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

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

Войти
Регистрация
Восстановить пароль
 
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
#1

Сокращение кода - C++

08.12.2012, 17:25. Просмотров 555. Ответов 10
Метки нет (Все метки)

Есть задача: [ссылка удалена]

Я решил таким способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
 
int N,i,x,t,k,j,*G;
 
main()
{
    std::fstream I("input.txt"), O("output.txt", 2);
    I >> N;
    for(G = new int[N*2]; I >> G[i];) i++; 
 
    for(; j < N; j++)
        if((k = G[j]*G[N+j]) > x) {x = k; t = j;}
    O << ++t;
}
Размер кода: 175

Как можно еще сократить размер кода?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 17:25     Сокращение кода
Посмотрите здесь:

Сокращение кода - C++
Я учусь сокращать код на С++, для решения олемпиадных задач. (только пока еще простые задачки) Условие задачи: Сбор черники ...

Сокращение кода - C++
Думаю, многие, кто занимался олимпиадным программированием, знакомы с сайтом ********. И думаю многие знают, что чем короче код, тем круче...

Сокращение кода - C++
Всем привет! Ребят, возникла мелкая проблема. Написал программку человеку, он начал сдавать ее преподу. Та не приняла, сославшись, что код...

Сокращение кода и времени проверки (задача) - C++
Однажды Вася очень долго просидел на остановке, прежде чем дождался своего автобуса. Чтобы как-то занять время, он решил записывать на...

Сокращение дроби - C++
Есть класс дроби с полями Чисельник и Знаменник. надо написать функцию сокращение дроби. сделать функцию дружественной и т.п. я умею, мне...

Сокращение дроби - C++
Даны натуральные числа a и b, обозначающие соответственно числитель и знаменатель дроби. Сократите дробь, т.е найти такие натуральные p и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,068
Записей в блоге: 3
Завершенные тесты: 1
08.12.2012, 17:26     Сокращение кода #2
Цитата Сообщение от Арсен_ Посмотреть сообщение
Как можно еще сократить размер кода?
Короче - не значит лучше.
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
08.12.2012, 17:41  [ТС]     Сокращение кода #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Короче - не значит лучше.
Мне ненадо что бы лучше, просто учусь сокращать код. ПРосто кто то умудрился сократить до 15* знаков.
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,738
08.12.2012, 17:46     Сокращение кода #4
Цитата Сообщение от Арсен_ Посмотреть сообщение
Мне ненадо что бы лучше, просто учусь сокращать код.
Смысл?
засандаль все в одну строчку и пробелы удали
А разбираться потом как?

Добавлено через 2 минуты
досокращались
Цитата Сообщение от Арсен_ Посмотреть сообщение
main()
по умолчанию int не ставится это не С
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,068
Записей в блоге: 3
Завершенные тесты: 1
08.12.2012, 17:55     Сокращение кода #5

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
досокращались
Цитата Сообщение от Арсен_ Посмотреть сообщение
main()
по умолчанию int не ставится это не С
на том сервере это прокатывает


C++
1
for(G = new int[N*2]; I >> G[i++];);
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,738
08.12.2012, 18:05     Сокращение кода #6
Цитата Сообщение от Croessmah Посмотреть сообщение
на том сервере это прокатывает
так может и здесь выкинуть int?
Цитата Сообщение от Croessmah Посмотреть сообщение
for(G = new int[N*2]; I >> G[i++] ; );
C++
1
for(G = new [N*2]; I >> G[i++];);
Croessmah
08.12.2012, 18:08
  #7

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
так может и здесь выкинуть int?
не, так не пойдет

Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
08.12.2012, 18:12  [ТС]     Сокращение кода #8
Спасибо, в размер кода не учитывается пробелы и переносы строк.
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,738
08.12.2012, 18:18     Сокращение кода #9
Цитата Сообщение от Croessmah Посмотреть сообщение
if(k > x) {x = k; t = j;}
C++
1
if(k > x && x = k) t = j;
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 18:18     Сокращение кода #10
Цитата Сообщение от Арсен_ Посмотреть сообщение
Мне ненадо что бы лучше, просто учусь сокращать код. ПРосто кто то умудрился сократить до 15* знаков.
Честно говоря, сомнительная цель. Вот если бы вы стремились оптимизировать код по времени выполнения или по использованию памяти - я бы понял. А так - не вижу смысла
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 18:23     Сокращение кода
Еще ссылки по теме:

Сокращение строки на 1 символ С++ - C++
Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ. ...

Оптимизация [сокращение времени выполнения] - C++
Здравствуйте, стояла такая задача: Была сделана следующая программа: #include &lt;iostream&gt; using namespace std; int lucky(int...

Оптимизация [сокращение времени выполнения] - C++
Всем привет! В общем стояла такая задача: Посчитать среднее количество букв в предложении, состоящем из символов &quot;A-Z&quot;, &quot;a-z&quot;, &quot;0-9&quot;,...

Возможно ли сделать такое сокращение? - C++
Здравствуйте, скажите пожалуйста возможно ли такое сделать ? Есть четыре цифры, в первой цифре может быть 1 или 2, во второй тоже 1 или...


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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,738
08.12.2012, 18:23     Сокращение кода #11
Цитата Сообщение от Арсен_ Посмотреть сообщение
for(; j < N; j++)
* * * * if((k = G[j]*G[N+j]) > x) {x = k; t = j;}
O << ++t;
C++
1
2
3
while(N-j)
     if((k = G[j]*G[N+j++]) > x && x = k) t = j;
     O << t;
Yandex
Объявления
08.12.2012, 18:23     Сокращение кода
Ответ Создать тему
Опции темы

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