Loading...
Stanislav_Iliev avatar Stanislav_Iliev 0 Точки

Четна / нечетна сума

Здравейте!

Някой може ли да ми каже къде е грешката в кода за задачата Odd Even Sum от урока за цикли

Това сътворих аз :

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

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var num = int.Parse(Console.ReadLine());
            var sumEven = 0;
            var sumOdd = 0;

            for (int i = 0; i <num; i++)
            {

                var vuvedenoChislo = int.Parse(Console.ReadLine());

                if (vuvedenoChislo/2==0)
                {
                    sumEven += vuvedenoChislo;
                }
                else
                {
                    sumOdd += vuvedenoChislo;
                }

            }

            if (sumEven==sumOdd)
            {
                Console.WriteLine("Yes");
                Console.WriteLine("Sum="+sumOdd);
            }
            else
            {
                Console.WriteLine("No");
                Console.WriteLine("Diff="+ Math.Abs(sumOdd-sumEven));
            }
        }
    }
}
 

Тагове:
0
Programming Basics
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки
Best Answer

Здравей,

Като за начало си прочети още веднъж условието. Казано ти е "числата на четни и нечетни позиции".  Следователно трябва да въртиш цикъла от 1  <= num. И проверката трябва да ти е i % 2 == 0.

Успех

1
MorganFreeFarm avatar MorganFreeFarm 51 Точки

Може и от 0 да почва, проблемът е, че не дели i : ))

0
MorganFreeFarm avatar MorganFreeFarm 51 Точки

На първо четене делението ти трябва да е модулно - % за проверка на четно число.

1
borislav9212 avatar borislav9212 745 Точки

if( i % 2 == 0)  така трябва да ти е if. Трябва да проферяваш числата от цикъла . и се използва модул делене " % ".

можеш и  else( i % 2  != 0) да го направиш така, ама и без това кода ще ти е верен. Използвай Place Holder в Console.WriteLine() кода е по добре четим.

0
20/03/2016 18:52:43
RoYaL avatar RoYaL Trainer 6849 Точки

Това с else не е точно така :)

1
borislav9212 avatar borislav9212 745 Точки

да, забравих да вмъкна че, последния else, трябва да е else if (evensum != oddsum)

0
gabi.ivanova avatar gabi.ivanova 370 Точки

Свиквай от сега да кръщаваш нещата със значещи имена - ConsoleApplication2 не е такова.
Същото важи и за променливите. Трябва да носят значещи имена, които да са на английски. Ако работиш в реална среда и пишеш нещо, събмитваш го и лицето Х, което е германец го гледа, ще има да се чуди какво е vuvedenoChislo. Може да го кръстиш imputNumber например.

Колкото по-рано разбереш и свикнеш с концепцията веднага да променяш имената на смислови, толкова по-добре за теб и за хората, които ще работят с теб.


Още нещо - когато искаш да си пуснеш кода на задачата във форума използвай http://pastebin.com/  - изключително опростено е. Слагаш си кода там и тук пускаш само линк към него.

Успех с начинанието!

3
20/03/2016 18:34:15
KOSTADINMARKOV avatar KOSTADINMARKOV 22 Точки

За да успееш да ги сумираш първо трябва да ги разделиш на четни и нечетни с да кажем с i%2==0 е четно,а иначе не е .

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