Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2009, 16:45
pavarotti pavarotti вне форума
Прохожий
 
Регистрация: 28.11.2009
Сообщения: 19
Репутация: -10
По умолчанию Суммирование значений X на предмет поиска суммы чисел, равной Y

Здравствуйте!
Подскажите, пожалуйста, как можно решить задачу след. типа:
В программе набор постоянных значений. Например:
X1=30.48
X2=15.24
X3=13.97
X4=12.70
X5=11.43
X6=10.16
X7=8.89
X8=7.62
Единственное что вводит пользователь - это искомую им сумму Y.
Программа анализирует и выдает все возможные комбинации сумм Xi...j приближенно равных заданной (искомой) сумме Y, с указанием всех слагаемых в каждой найденной приближенной сумме. Каждый Xi..j программа может взять, скажем, два раза. Приближенность искомого равенства должна быть варьируемой пользователем.
Помогите, пожалуйста, советом как можно организовать такой анализ.
Ответить с цитированием
  #2  
Старый 02.12.2009, 13:06
pavarotti pavarotti вне форума
Прохожий
 
Регистрация: 28.11.2009
Сообщения: 19
Репутация: -10
Радость Неужели реально неразрешимая задача?!

Может кто всё таки подскажет как организовать сам перебор на сравнение. Или как это можно организовать через массив.
Ответить с цитированием
  #3  
Старый 02.12.2009, 14:22
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Может я неправильно понял задание, но...
потом
Код:
var
 Mass[0..10] : array of real;//Массив данных
 StringList : TStringList;//Список результатов
begin
for i := 0 to Length(Mass)-1 do
 for j := 0 to Length(Mass)-1 do 
 begin
  if Y = Mass[i]+Mass[j] then
   StringList.Add(FloatToStr(Mass[i])+'+'+FloatToStr(Mass[j])+'='+FloatToStr(Y));
 end;
end;
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #4  
Старый 27.02.2010, 13:22
pavarotti pavarotti вне форума
Прохожий
 
Регистрация: 28.11.2009
Сообщения: 19
Репутация: -10
По умолчанию Проблема решена.

Ништяк! Спасибо

Последний раз редактировалось pavarotti, 27.02.2010 в 13:28.
Ответить с цитированием
  #5  
Старый 27.02.2010, 13:29
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Цитата:
Сообщение от pavarotti
Где именно в этом коде идет проверка на равенство искомой суммы?
вот тут:
Код:
if Y = Mass[i]+Mass[j] then
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...
Ответить с цитированием
  #6  
Старый 27.02.2010, 13:38
pavarotti pavarotti вне форума
Прохожий
 
Регистрация: 28.11.2009
Сообщения: 19
Репутация: -10
Радость Точно...

Отлично. Спасибо за ответ.
Не подскажете как легче всего представить найденные суммы из StringList, скажем в компоненте Memo или любом другом удобочитаемом компоненте?
Ответить с цитированием
  #7  
Старый 27.02.2010, 13:55
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Код:
Memo1.Lines.Text := StringList.Text;
или сразу добавлять значения в Memo:
Код:
Memo1.Lines.Add(FloatToStr(Mass[i])+'+'+FloatToStr(Mass[j])+'='+FloatToStr(Y));
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...

Последний раз редактировалось Ultras, 27.02.2010 в 13:59.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025