Суммирование только отобранных элементов с помощью array.Sum() - C#

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

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

Господа , подскажите что не так??? Метод по идее должен сложить все отобранные нечётные элементы массива int.Подскажите как правильно его использовать.При сложении -7+3+3+5+9 = 13 .У меня выводит 17.Где я облажался.
class Program
    {
       public static int[] arr ;
        
     private static void func2(ref int value)
     {
       arr = new int[] {-7,3,8,3,5,-4,9 };
       int number = 0;
       string t = number.ToString();
       Console.Write("Ввести номер действия:"); // можно
       t = Console.ReadLine();
       if (false)
       {
           return ;               // не проблема, у value остаётся старое значение
       }
       number = Int32.Parse(t);
       if (number==1)
       {
           for (int u = 0; u < arr.Length; ++u)
           {
               if (arr[u] % 2 != 0)
               {
                   Console.Write(arr[u]+" , ");
                              
               }
             
           }
          
           Console.Write("\n"+arr.Sum());
 
       }
        Console.ReadKey();
     }
 
    //string s2;
   // func2(ref s2); // нельзя, функция имеет право использовать значение,
               // значит, оно должно быть инициализировано сначала
 
        static void Main(string[] args)
        {
            int s2 = 0;
            func2(ref s2); // нельзя, функция имеет право использовать значение,
               // значит, оно должно быть инициализировано сначала
        }
Кажется проблема решена .Забыл создать новый массив.
 arr_1[u] = arr[u];
                   Console.Write(arr_1[u] + " , ");

Решение задачи: «Суммирование только отобранных элементов с помощью array.Sum()»

textual
Листинг программы
var res = arr.Sum(x => x % 2 == 0 ? 0 : x);

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


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

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

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