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

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

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

Господа , подскажите что не так??? Метод по идее должен сложить все отобранные нечётные элементы массива int.Подскажите как правильно его использовать.При сложении -7+3+3+5+9 = 13 .У меня выводит 17.Где я облажался.
Листинг программы
  1. class Program
  2. {
  3. public static int[] arr ;
  4. private static void func2(ref int value)
  5. {
  6. arr = new int[] {-7,3,8,3,5,-4,9 };
  7. int number = 0;
  8. string t = number.ToString();
  9. Console.Write("Ввести номер действия:"); // можно
  10. t = Console.ReadLine();
  11. if (false)
  12. {
  13. return ; // не проблема, у value остаётся старое значение
  14. }
  15. number = Int32.Parse(t);
  16. if (number==1)
  17. {
  18. for (int u = 0; u < arr.Length; ++u)
  19. {
  20. if (arr[u] % 2 != 0)
  21. {
  22. Console.Write(arr[u]+" , ");
  23. }
  24. }
  25. Console.Write("\n"+arr.Sum());
  26. }
  27. Console.ReadKey();
  28. }
  29. //string s2;
  30. // func2(ref s2); // нельзя, функция имеет право использовать значение,
  31. // значит, оно должно быть инициализировано сначала
  32. static void Main(string[] args)
  33. {
  34. int s2 = 0;
  35. func2(ref s2); // нельзя, функция имеет право использовать значение,
  36. // значит, оно должно быть инициализировано сначала
  37. }
Кажется проблема решена .Забыл создать новый массив.
Листинг программы
  1. arr_1[u] = arr[u];
  2. Console.Write(arr_1[u] + " , ");

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

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

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


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

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

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы