Loading...
Nikodon avatar Nikodon 3 Точки

10. Multiply Evens by Odds

Здравейте,опитвам се да реша задачата от лаб-а за Методи

10.   Multiply Evens by Odds

 

Опитвам се да я реша с масив + методи , но нещо не ми се получава. Гърми ми кода , а ми се струва , че ми трябва малко за да го сетна да работи. Миля за малко помощ, какво да променя за да тръгне. Би трябвало да може да се реши с масив. Благодаря ви предварително, прилагам и кода:

https://pastebin.com/v3fDTV7C

 

Поздрави!

Тагове:
0
Module: C# Advanced
sbboneva avatar sbboneva 25 Точки

Здравей, предполаам че това е грешката ти:

  1. int[] array = Console.ReadLine().Split(" ").Select(int.Parse).ToArray();

  2.             Console.WriteLine(GetMultipleOfEvenAndOdds(array));

  3.  

  4.         }

  5.  

  6.         static int GetSumOfEvenDigits(int array)

  7.         {

  8.             int sumEven = 0;

  9.             int currentDigit = 0;

  10.             for (var i = 0; i < array.Length; i++)

  11.             {

  12.                 currentDigit = array[i];

  13.                 if (currentDigit % 2 == 0) 

  14.                 {

  15.                     sumEven += currentDigit;

  16.                 }

  17.  

  18.             }

  19.  

  20.             return Math.Abs(sumEven);

  21.         }

  22.  

  23.         static int GetSumOfOddDigits(int array)

  24.         {

  25.             int sumOdd = 0;

  26.             int currentDigit = 0;

  27.             for (var i = 0; i < array.Length; i++)

  28.             {

  29.                 currentDigit = array[i];

  30.                 if (currentDigit % 2 != 0)  - тук трябва да е различно от 0.

  31.                 {

  32.                     sumOdd += currentDigit;

  33.                 }

  34.  

  35.             }

  36.  

  37.             return Math.Abs(sumOdd);

  38.         }

  39.  

  40.         static int GetMultipleOfEvenAndOdds(int array)

  41.         {

  42.             return GetSumOfOddDigits(array) * GetSumOfOddDigits(array);

  43.         }

0
nickwork avatar nickwork 657 Точки

Ето ти едно решение както искаше с масиви и методи :) ... дебъгни го няколко пъти за да разбереш как работи.

namespace _8.Predicate_Party
{
    using System;
    using System.Collections.Generic;
    using System.Linq;

    public class CustomComparator
    {
        public static void Main()
        {
            string input = Console.ReadLine();

            int[] allNumbers = new int[input.Length];

            for (int i = 0; i < input.Length; i++)
            {
                char currentChar = input[i];

                if (char.IsDigit(currentChar))
                {
                    allNumbers[i] = currentChar - '0';
                }
            }

            int evenSum = GetSumOfEvenDigits(allNumbers);
            int oddNSum = GetSumOfOddDigits(allNumbers);

            int result = GetMultipleOfEvenAndOdds(evenSum, oddNSum);

            Console.WriteLine(result);
        }

        private static int GetSumOfOddDigits(int[] allNumbers)
        {
            return allNumbers.Where(x => x % 2 == 1).Sum();
        }

        private static int GetSumOfEvenDigits(int[] allNumbers)
        {
            return allNumbers.Where(x => x % 2 == 0).Sum();
        }

        private static int GetMultipleOfEvenAndOdds(int evenSum, int oddNSum)
        {
            return evenSum * oddNSum;
        }
    }
}

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.