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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2010, 23:47   #1
Girl/C++
Новичок
Джуниор
 
Регистрация: 03.10.2010
Сообщений: 2
По умолчанию перебор в с++

Здравствуйте, возникла проблема с перебором в с++.
Такая задача:
есть вектор чисел (их вводит пользователь парами, то есть пользователь вводит всегда четное количество чисел). Реализована функция S (k,l,m,n), у которой (k,l), (m,n) - две пары чисел (из тех что ввел пользователь).
Мне нужно найти сумму всех S (k,l,m,n) со всевозможными сочетаниями пар чисел, введенных пользователем.
Если пользователь ввел 2 пары чисел - будет 4 слагаемых в сумме, для 3 пар чисел - 9 слагаемых (число слагаемых в сумме равно квадрату количества пар).
Например, пользователь ввел пары (0,1) и (2,3).
Нужно найти S(0,1,2,3)+S(2,3,0,1)+S(0,1,0,1)+S( 2,3,2,3).

Я пишу программу в MinGW. Помогите с реализацией возникшей у меня проблемы. Жду от вас идей и предложений
Girl/C++ вне форума Ответить с цитированием
Старый 04.10.2010, 00:50   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Girl/C++ Посмотреть сообщение
Здравствуйте, возникла проблема с перебором в с++.
Такая задача:
есть вектор чисел (их вводит пользователь парами, то есть пользователь вводит всегда четное количество чисел). Реализована функция S (k,l,m,n), у которой (k,l), (m,n) - две пары чисел (из тех что ввел пользователь).
Мне нужно найти сумму всех S (k,l,m,n) со всевозможными сочетаниями пар чисел, введенных пользователем.
Если пользователь ввел 2 пары чисел - будет 4 слагаемых в сумме, для 3 пар чисел - 9 слагаемых (число слагаемых в сумме равно квадрату количества пар).
Например, пользователь ввел пары (0,1) и (2,3).
Нужно найти S(0,1,2,3)+S(2,3,0,1)+S(0,1,0,1)+S( 2,3,2,3).

Я пишу программу в MinGW. Помогите с реализацией возникшей у меня проблемы. Жду от вас идей и предложений
От перемены мест слагаемых, сумма не меняется! Учи арифметику.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 04.10.2010, 01:54   #3
Girl/C++
Новичок
Джуниор
 
Регистрация: 03.10.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
От перемены мест слагаемых, сумма не меняется! Учи арифметику.
Видимо, вы совсем ничего не поняли в моей задаче...
Girl/C++ вне форума Ответить с цитированием
Старый 04.10.2010, 09:50   #4
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

Код:
int sum = 0;

for ( int i = 0; i < N_OF_ELEMENTS; i++ )
	for ( int j = 0; j < N_OF_ELEMENTS; j++ )
		sum += S( mas[i], mas[j] );
Только S, как вы уже наверное заметили, функция двух аргументов и принимает пару элементов. Т.о. mas[i] - одно и тоже что ваще (k,l) или (m,n).
coinkrsk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор выражения Alex_sim Помощь студентам 2 22.05.2010 17:26
Перебор записей в БД Sanakan Помощь студентам 9 22.03.2010 21:36
Перебор значений genf Microsoft Office Excel 0 18.12.2009 10:56
Перебор результатов coirius Помощь студентам 3 12.12.2009 14:04
Перебор с памятью artemavd Общие вопросы Delphi 12 24.05.2009 06:48