Суммирование только отобранных элементов с помощью 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д