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

Проверка массива - C++

Восстановить пароль Регистрация
 
Shumaher
Сообщений: n/a
25.12.2012, 19:24     Проверка массива #1
Ребята, суть в том, что есть массивчик чисел и есть заданное число F. Нам надо получить число F , путём сложения нескольких(более одного) элементов массива. Повторное сложение одного и того же элемента запрещены

Пример

a[] = {0,0,1,0,6};
F = 7;
программа должна вернуть true

a[] = {0,0,2,0,1};
F = 2;
а вот тут уже false, так как двойку нельзя получить сложением нескольких элементов

a[] = {5,6,2,0,1}
F = 7;
должна вывести true

Я думаю вы суть уловили

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
#include <iostream>
 
using namespace std;
 
bool chekc_arr(int arr[], int f, int N)
{
     int c(0);
    for ( int i=0;i<N;i++)
        for(int l=0;l<N;l++)
          {
            c = arr[i];
            for(int j = l;j<N;j++)
              {
                if ((j==i)) 
                  j++;
                c = c + arr[j];
                if (c==f)
                   return true; 
              }
          } 
     return false;
}
 
int main()
{
    int a[5] = {0,0,0,0,1};
    cout<<check_arr(a,1,5);
    return 0;
}
ВОТ МОЙ БЫДЛОКОД.

Он не рабит в этом случае, который в коде. Он и не должен, вот только у меня вообще что-то идей нет.
Наверняка я не первый кому требуется такое.
Помогите ссылкой или советом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 19:24     Проверка массива
Посмотрите здесь:

Проверка отсортированности массива C++
Проверка границ массива C++
Проверка массива на пустоту C++
C++ Проверка строкового массива
проверка содержимого массива C++
Проверка на заполненность/переполненность массива C++
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
Проверка класса динамического массива строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maxillion
273 / 183 / 38
Регистрация: 25.12.2012
Сообщений: 616
25.12.2012, 19:56     Проверка массива #2
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
 int f = 5;
 
            int[] i = { 0, 1, 2, 3, 4, 5, 6, 7 };
 
            int sum = 0;
 
            string n = "";
 
            for (int x = 0; x < 0xff + 1; x++)
            {
                for (int y = 0; y < 8; y++)
                {
                    if ((x & (1 << y)) > 0)
                    {
                        sum += i[y];
                        n += y.ToString() + " ";
                    }
                }
                if (sum == f)
                {
                    //Console.WriteLine(x.ToString("x2"));
                    Console.WriteLine(n);
                    Console.ReadKey();
                    //return;
                }
                sum = 0;
                n = "";
            }
 
            Console.WriteLine("усе");
            Console.ReadKey();
это на c# но думаю мысль ясна
Shumaher
Сообщений: n/a
26.12.2012, 12:34     Проверка массива #3
Огромное спасибо
Yandex
Объявления
26.12.2012, 12:34     Проверка массива
Ответ Создать тему
Опции темы

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