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

Объясните принцип действия алгоритма!!! - C++

Восстановить пароль Регистрация
 
Stayer777
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 3
07.06.2009, 14:56     Объясните принцип действия алгоритма!!! #1
Это задача о сумме подмножеств, нужно найти элементы массива сумма которых равно нулю{14,-7,-10,4,3, 5, -19, -12, 9, 6};
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
43
44
45
46
#include "stdafx.h"
#include <math.h>
#define N 10
int summ(int l, int *a)
{
    int S=0, k;//к-номер варианта, сдвинутый на j позиций вправо, s– сумма необходимых элементов от 0 до j
    for(int j=0;j<N;j++)
    {
        k=l%2;//получить младший бит числа
        S+=a[j]*k;
        l=l/2;//сдвинуть биты на позицию влево
    }
    return S;//возвращение значения s
}
void perebor(int *a)
{
    int i, j, k, b[N], m, l=0;
    for(i=0;i<pow(2,N*1.);i++)
    {
        m=0;
        if(summ(i, a)==0)
        {
            int l=i;
            for(j=0;j<N;j++)
            {
                k=l%2;
                if(k)
                {
                    b[m]=j;
                    m++;
                }
                l/=2;
            }
            for(j=0;j<m;j++)
                printf("%d[%d] ", a[b[j]], b[j]);
            printf("\n");
        }
    }
}
void main()
{
    int a[N]={14,-7,-10,4,3, 5, -19, -12, 9, 6};
    for(int i=0;i<N;i++)
        printf("%d ", a[i]);
    perebor(a);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2009, 14:56     Объясните принцип действия алгоритма!!!
Посмотрите здесь:

объясните принцип работы цикла : ? C++
C++ принцип действия функции return
Односвязные списки. Объясните принцип работы. C++
C++ Объясните, пожалуйста, принцип работы.
Ханойские башни, объясните принцип работы! C++
C++ Объясните принцип создания многопоточности
C++ LZSS принцип работы алгоритма
Объясните принцип действия программы, меняющей местами строки матрицы с наибольшим и наименьшим элементами C++
Объясните принцип C++
C++ Объясните принцип работы программы
Объясните принцип работы программы C++
C++ Объясните принцип бинарного поиска

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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