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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 04:34   #1
Nimbu
 
Регистрация: 13.05.2010
Сообщений: 7
По умолчанию Деление на равные половины

Решите пожалуйста задачку на С++
Деление на равные половины. Текстовый файл содержит последовательность целых чисел - веса элементов: а1, а2, . . ., аn
Составить алгоритм-программу деления этих предметов на две группы так, что бы общие веса двух групп были максимально близкими друг к другу. Результаты расчётов сохранить в текстовом файле. Исходные данные представлены в текстовом файле со следующей структурой. Первая строка: n - количество чисел. Следуущие строки содержат веса элементов
а i(итое)
Пример файла исходных данных:
5
63145
Пример файла выходных данных:
631 - первая группа
45 - вторая группа
Nimbu вне форума Ответить с цитированием
Старый 13.05.2010, 07:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
целых чисел
Может быть цифр?
и что значит "Общие веса"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.05.2010, 07:38   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Наверно способ запутать студента - общий вес скорее всего имеется ввиду сумма чисел в группе.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.05.2010, 15:28   #4
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Можете блеснуть умом и сказать преподу, что задача не имеет решения. Или динамика для всех подсум, или полный перебор, или эвристики.
LeBron вне форума Ответить с цитированием
Старый 28.06.2010, 17:10   #5
Nimbu
 
Регистрация: 13.05.2010
Сообщений: 7
По умолчанию

Ну помогите хотя бы алгоритм разработать!!!!!!
Nimbu вне форума Ответить с цитированием
Старый 28.06.2010, 17:39   #6
dxdy
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 78
По умолчанию

Условие задачи не особо понятно. Допусти на вашем примере:
Цитата:
Вход: 63145
Цитата:
Выход: 631 - первая группа
45 - вторая группа
А такой результат возможен?
Цитата:
Выход: 64 - первая группа
531 - вторая группа
Можно просто брать крупные числа из массива и сопоставлять им числа(или число), сумма которых ближе всего находится к данному крупному числу. Если делать полный перебор, то задача будет неинтересная. Даже можно просто отсортировать элементы и разбросать соседей в разные группы, но это всего лишь идеи...
Я не волшебник, я еще только учусь ٩(๏̯͡๏)۶

Последний раз редактировалось dxdy; 28.06.2010 в 17:46.
dxdy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление |{ot Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.03.2009 01:50
Кол-во эл. равные максимальному Incognitoal Microsoft Office Excel 2 03.03.2009 23:34
Поменять местами две половины массива, сохраняя их порядок. Леди Уинтер Помощь студентам 11 09.01.2008 09:21
деление natasha Общие вопросы Delphi 6 22.01.2007 12:39