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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 22:59   #1
unicozz
Новичок
Джуниор
 
Регистрация: 22.11.2012
Сообщений: 2
По умолчанию найти все возможные суммы из чисел, которые есть в массиве

Добрый вечер , вынужден просить вашей помощи , так как сам придумать ничего не могу . В общем цель задачи - найти все возможные суммы из чисел , которые есть в массиве .

Допустим массив A - 1,2,3

Возможные суммы : 1,2,3,4,5,6

Буду очень благодарен , если кто-то поможет , а если сможет объяснить суть решения , то буду благодарен вдвойне
unicozz вне форума Ответить с цитированием
Старый 23.11.2012, 08:04   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Возможные суммы : 1,2,3,4,5,6
Неправильно. Возможные суммы: 2,3,4,5,6. Нуля в Вашем массиве нет.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 23.11.2012, 11:37   #3
unicozz
Новичок
Джуниор
 
Регистрация: 22.11.2012
Сообщений: 2
По умолчанию

Извиняюсь , суммой можно считать единственное число , то есть один элемент массива тоже сумма
unicozz вне форума Ответить с цитированием
Старый 23.11.2012, 13:24   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
суммой можно считать единственное число
Единственное число никак нельзя считать суммой. Скорее всего, просто ноль по умолчанию входит в этот массив.

а, например, 1+1 учитывать?
Или найти именно все комбинации сумм?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 23.11.2012, 14:36   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
const n=3;

type mass=array [1..n] of byte;
     sums=set of byte;

var m: mass;
    s: sums;
    i,j: byte;
    sum,sum1: byte;
begin
  For i:=1 to n do ReadLn(m[i]);
  For i:=1 to n do begin
    sum:=m[i];
    include(s,sum);
    For j:=1 to n-1 do
      if j<>i then begin
      sum:=sum+m[j];
      sum1:=m[i]+m[j];
      include(s,sum1);
      include(s,sum);
    end;
  end;
  ReadLn;
  for i:=0 to 255 do
    if i in s then WriteLn(i);
  ReadLn;
end.
Так как-то. Программу писал на коленке, отладите сами, если будут ошибки
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TASM :: Найти все эллементы в массиве А, которые делются на 3 и 2... openatom Помощь студентам 1 28.05.2012 07:42
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Помощь студентам 1 24.12.2011 13:57
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2011 18:01
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2011 16:44
Все возможные размещения чисел от 2 до n mariafors Общие вопросы C/C++ 3 25.12.2010 21:19