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

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

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

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

08.12.2012, 17:25. Просмотров 538. Ответов 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++
Класс дробь, сокращение дробей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12877 / 7263 / 810
Регистрация: 27.09.2012
Сообщений: 17,944
Записей в блоге: 2
Завершенные тесты: 1
08.12.2012, 17:26     Сокращение кода #2
Цитата Сообщение от Арсен_ Посмотреть сообщение
Как можно еще сократить размер кода?
Короче - не значит лучше.
Арсен_
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 27
08.12.2012, 17:41  [ТС]     Сокращение кода #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Короче - не значит лучше.
Мне ненадо что бы лучше, просто учусь сокращать код. ПРосто кто то умудрился сократить до 15* знаков.
ValeryS
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
08.12.2012, 17:46     Сокращение кода #4
Цитата Сообщение от Арсен_ Посмотреть сообщение
Мне ненадо что бы лучше, просто учусь сокращать код.
Смысл?
засандаль все в одну строчку и пробелы удали
А разбираться потом как?

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

Не по теме:

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


C++
1
for(G = new int[N*2]; I >> G[i++];);
ValeryS
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
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
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
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     Сокращение кода
Еще ссылки по теме:

C++ Возможно ли сделать такое сокращение?
Сокращение дробей до несократимого вида C++
Double сокращение с точность до N знаков - C/C++ C++
C++ Оптимизация [сокращение времени выполнения]
C++ Оптимизация [сокращение времени выполнения]

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6506 / 4972 / 459
Регистрация: 14.02.2011
Сообщений: 16,474
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     Сокращение кода
Ответ Создать тему
Опции темы

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