Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2014, 19:08   #1
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
Восклицание Минимальное число

есть задача задача
и есть код
Код:
#include<string>
#include<fstream>
main()
{
std::fstream i("input.txt"), o("output.txt", 2);
std::string a,b,s;
i>>a>>b;
for(;a+b>"";){
s= a+'A'>b+'B' ? b : a;
o<<s[0];
(s==b ? b:a).erase(0,1);
}
}
Размер кода: 174
лутший результат 168
помогите сократить хотябы до 170 плиз
kostan3 вне форума Ответить с цитированием
Старый 13.02.2014, 20:18   #2
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

а что за "размер"?
т.е. единица размера это любой символ в твоем коде?
alekopoko вне форума Ответить с цитированием
Старый 13.02.2014, 23:42   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Сделал 170: http://acmp.ru/index.asp?main=bstatus&id_t=548
Arigato вне форума Ответить с цитированием
Старый 14.02.2014, 17:33   #4
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

как??? 170 символов дай код
kostan3 вне форума Ответить с цитированием
Старый 14.02.2014, 17:34   #5
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от alekopoko Посмотреть сообщение
а что за "размер"?
т.е. единица размера это любой символ в твоем коде?
да несчитая пробелов переносов и табуляцию
kostan3 вне форума Ответить с цитированием
Старый 14.02.2014, 19:19   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А для чего Вам код-то более короткий? Ведь основное удовольствие - самому сократить код.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.02.2014, 19:28   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от kostan3 Посмотреть сообщение
как??? 170 символов дай код
Навскидку - 172 символа

Код:
#include<string>
#include<fstream>

main() {
  std::fstream i("input.txt"), o("output.txt", 2);
  std::string a, b, s;

  i >> a >> b;

  for(; s > "";) {
    s = a + 'A' > b + 'B' ? b : a;
    o << s[0];
    (s == b ? b : a).erase(0, 1);
  }
}
MaTBeu вне форума Ответить с цитированием
Старый 14.02.2014, 20:32   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Не проверял.
(за основу взят вариант MaTBeu'я)
Код:
#include <string>
#include <fstream>

main() {
  std::fstream i("input.txt"), o("output.txt", 2);
  std::string a, b, s;
  for(i >> a >> b; s > "";) {
    s = a + 'A' > b + 'B' ? b : a;
    o << s[0];
    (s == b ? b : a).erase(0, 1);
  }
}
Вроде так 171
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.02.2014, 20:56   #9
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
Навскидку - 172 символа

Код:
#include<string>
#include<fstream>

main() {
  std::fstream i("input.txt"), o("output.txt", 2);
  std::string a, b, s;

  i >> a >> b;

  for(; s > "";) {
    s = a + 'A' > b + 'B' ? b : a;
    o << s[0];
    (s == b ? b : a).erase(0, 1);
  }
}
wrong answer ((
kostan3 вне форума Ответить с цитированием
Старый 14.02.2014, 20:56   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
Навскидку - 172 символа
Так не сработает, ведь s изначально пусто.

Вот 170:
Код:
#include<string>
#include<fstream>
main()
{
std::fstream i("input.txt"), o("output.txt", 2);
std::string a,b,s;
for(i>>a>>b;a+b>"";(s==b ? b:a).erase(0,1))
o<<(s= a+'A'>b+'B' ? b : a)[0];
}
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Число фибоначчи. Двумерный массив, максимальное и минимальное число. Silverstone Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.12.2012 12:19
Минимальное число Poma][a Паскаль, Turbo Pascal, PascalABC.NET 46 24.09.2012 22:33
Почему то не считает минимальное число Alekzinder Помощь студентам 0 06.05.2012 02:18
Минимальное число Progs1024 Паскаль, Turbo Pascal, PascalABC.NET 14 11.10.2009 21:21