Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
lfin
2 / 2 / 0
Регистрация: 11.10.2009
Сообщений: 31
#1

Подскажите решение... - C++

01.11.2009, 13:57. Просмотров 744. Ответов 2
Метки нет (Все метки)

Доброе время суток!
Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах встречаются ровно по одному разу.
Возможно пригодится: Чтобы сумма произведений пар была максимальна (минимальна) необходимо упорядочить наборы A и B одинаковым (различным) образом и пары будут составлять элементы стоящие на одинаковых позициях в упорядоченных наборах. Это следует из того факта, что если а<b и c<d,то а*с+b*d>=a*d+b*c.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2009, 13:57     Подскажите решение...
Посмотрите здесь:

Подскажите решение - C++
Составить программу, в которой необходимо сформировать протокол лыжных гонок в виде массива строк, в каждой из которых записать фамилию,...

Подскажите альтернативное решение - C++
Как можно еще записать решение через циклы ? Может мой вариант слишком нубовский ? #include &lt;iostream&gt; using namespace std; int...

Подскажите, пожалуйста, верно ли решение. - C++
#include &lt;iostream&gt; using namespace std; int main () { cout &lt;&lt; &quot;What is your first name? &quot;; char *first = new char; ...

Ребят, подскажите решение задачи - C++
А вот и сама задача.... Дан массив D Найти и вывести элементы массива меньше 3 и их порядковые номера в массиве. А также сумму всех...

Подскажите пожалуйста решение задачи. - C++
Найти точку D, симметричную точку A относительно стороны BC.

Подскажите паттерн или архитектурное решение - C++
Добрый вечер, подскажите паттерн или архитектурное решение для такой задачи: while(game.isOpen()) { Event.getEvents(); ...

задача на функции со сменным числом параметров. подскажите, пожалуйста решение - C++
Дано натуральное число n (4 &lt;n &lt;10) и целые числа a1, a2, ... an. Посчитать: a1, -a1a2, a1a2a3 ..., (-1) ^ (n + 1) a1a2 ... an;

Подскажите решение - Pascal
Program laba4; uses Crt; const n=4;m=4; var a:array of integer; k:integer;i,j:integer;s:integer; begin clrscr; randomize; ...

Подскажите решение - Геометрия
ссылка удалена

Подскажите решение - PHP
Здравствуйте форумчане. Помогите решить проблему. Необходимо чтобы определенная функция срабатывала один раз при первом открытии страници,...

Подскажите решение - JavaScript
Здравствуйте форумчане. Помогите решить проблему. Необходимо чтобы определенная функция срабатывала один раз при первом открытии страници,...

подскажите решение - VBA
Помогите плз решить такую задачу! мне необходимо взять из ячеек эксель значения и подставить в массив, который после преобразования должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.11.2009, 18:35     Подскажите решение... #2
упорядочить наборы A и B одинаковым (различным) образом и пары будут составлять элементы стоящие на одинаковых позициях в упорядоченных наборах.
Ответ ты сам написал.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.11.2009, 21:08     Подскажите решение... #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream.h>
#include <process.h>
#include <windows.h>
 
int main ()
{
    int *mas, n, i, j, temp;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
vvod:
    cout<<"Введите количество элементов массива (четное число): "<< endl;
    cin>>n;
    if(n%2!=0)
        goto vvod;
    mas=new int[n];
    cout<<"Введите элементы массива: "<< endl;
    for(i=0; i<n; i++)
    {
    cout<<"["<<i<<"]=";
    cin>>mas[i];
    }   
    for(i=0; i<n; i++)
    {
        for(j=n-1; j>=i+1; j--)
            if(mas[j]<mas[j-1])
            {
                temp=mas[j];
                mas[j]=mas[j-1];
                mas[j-1]=temp;
            }
 
    }
    cout<<"Пары чисел с максимальной суммой произведения"<<endl;
    for(i=0; i<n; i+=2)
        cout<<mas[i]<<"  "<<mas[i+1]<<endl;
    cout<<"Пары чисел с минимальной суммой произведения"<<endl;
    for(i=0; i<n/2; i++)
        cout<<mas[i]<<"  "<<mas[n-1-i]<<endl;
 
    system("pause");
    return 0; 
}
Yandex
Объявления
01.11.2009, 21:08     Подскажите решение...
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru