Професионална програма
Loading...
+ Нов въпрос
CosmicSalad avatar CosmicSalad 3 Точки

Нужна ми е помощ със 8 задача от тема 5 Прости Цикли

Колеги, ще ми помогнете ли да открия къде ми е грешката?

Source Code: 

using System;

class oddNEvenSum
{
  static void Main()
  {
    int n = int.Parse(Console.ReadLine());
      
    int sumEven = 0;
      
    int sumOdd = 0;
    
    for (int count = 0; count < n; count++)
    {
      int num1 = int.Parse(Console.ReadLine());
      int num2 = int.Parse(Console.ReadLine());
      
      sumEven += num1;
        
      sumOdd += num2;
      
    }
    
    if (sumEven == sumOdd)
    {
      Console.WriteLine("Yes Sum = " + sumOdd);
    }
     
   
    else
    {
      Console.WriteLine("No Diff = {0}", Math.Abs(sumEven - sumOdd));
    }
  }
}
    
 

Тагове:
0
Programming Basics
krisikostadinov avatar krisikostadinov 36 Точки

Този код работи

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace birdDay
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());
            var oodSum = 0;
            var evenSum = 0;

            for (int i = 0; i < n; i++)
            {
                var num = int.Parse(Console.ReadLine());
                
                if (i % 2 == 0)
                {
                    evenSum += num;
                }
                else
                {
                    oodSum += num;
                }
                
            }
            if (oodSum == evenSum)
            {
                Console.WriteLine("Yes sum = {0}", oodSum);
            }
            else
            {
                Console.WriteLine("No diff = {0}", Math.Abs(oodSum - evenSum));
            }
        }
    }
}
 

0
Lyubohd avatar Lyubohd 137 Точки

Здравей,

Първо виждам, че във цикъла четеш по две числа, а трябва да четеш само по едно, и да проверяваш дали позицията му по ред на четене дали е четна или нечетна, тоест в твоят случай трябва да проверяваш дали "count" е четен, ако да, добавяш входа към сумата на четните, ако не тогава добавяш към сумата на нечетните. Виждам, че колегата вече ти е дал код, така че това е от мен.

Поздрави!

Любо

0
CosmicSalad avatar CosmicSalad 3 Точки

Благодаря ви колеги! Аз май нещо се бях заблудил, че позицията на въведеното число тряба да е четна или нечетна, затова съм прочел по две числа. 

0
traykova44 avatar traykova44 93 Точки

Може ако искаш да разгледаш и моето решение дано да ти е от полза - С едно число

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cikkli
{
    class Program
    {
        static void Main(string[] args)

        {


            int n = int.Parse(Console.ReadLine());
            int sum1 = 0;
            int sum2 = 0;

            for (int i = 1; i <= n; i++)
            {
                if (i % 2 == 1)
                {
                    int oddNumbers = int.Parse(Console.ReadLine());
                    sum1 += oddNumbers;
                }
                else if (i % 2 == 0)
                {
                    int EvenNumbers = int.Parse(Console.ReadLine());
                    sum2 += EvenNumbers;
                }
            }

            if (sum1 == sum2)
            {
                Console.WriteLine("Yes Sum = {0}", sum1);
            }
            else
            {
                Console.WriteLine("No Diff = {0}", Math.Abs(sum1 - sum2));
            }

        }
    }
}

 

0