Найти сумму тех элементов массива которые равны веденному числу - C#

Узнай цену своей работы

Формулировка задачи:

Всем Доброго времени суток! Подскажите, пожалуйста, как мне найти сумму тех элементов массива которые равны веденному числу? Т.е. есть некий массив mas[6] = {1, 3, 5, 3, 7, 2}, веденное число, с которым мы будет сравнивать, x = 15. Что мне нужно: сумма 7 + 3 + 5 = 15, т.е. вывод индекса элементов массива i = 1, 2, 4; сумма 3 + 3 + 7 + 2 = 15, т.е. вывод индекса элементов массива i = 1, 3, 4, 5; ну и т.д. Помогите плизз, просо мозги не соображают. Буду очень благодарен))))

Решение задачи: «Найти сумму тех элементов массива которые равны веденному числу»

textual
Листинг программы
int Sum = 9;//искомая сумма
            int[] m = { 1, 3, 5, 3, 7, 2 };//исходный массив
            List<string> all = new List<string>();
            int k = m.Length;
            int r = 1; 
            int L = (int) Math.Pow(2,k);
            for (int i = 1; i < L; i++)
            {
                r = 1; int n =  i; string s = "";
                int ssum = 0;
                for (int j = 0; j < k; j++)
                {
                    if ((n & 1) == 1 )//
                    {
                        ssum += m[j];
                        if (ssum > Sum) break;
                        s += j.ToString() + " ";//заносим индекс
                    }                    
                    n =  n >> r;
                }
                if (ssum == Sum) 
                { 
                    s.TrimEnd(new char[]{' '}); 
                    s+="\r\n"; all.Add(s); 
                }
            }
            //Вывод индексов
            string str = "";
            foreach (string s in all)
                str += s;
            MessageBox.Show(str);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы