Професионална програма
Loading...
lubomir999 avatar lubomir999 2 Точки

Simple Loops - Exercise (Task 16 - Half Sum Element)

Здравейте, имам въпрос относно задача 16 - Half Sum Element. Това е кодът ми. Проблемът е само намирането на max number, защото трябва да се въведат числата отново, тоест моя въпрос е: Как да направя кода на max number, така че да приема за max първото въведено число без да ги въвеждам пак след като съм ги въвел веднъж?

Моля прочети правилата на форума преди да пускаш тема.

Тагове:
0
Programming Basics 04/03/2016 10:39:25
Filkolev:
Дублирана тема: https://softuni.bg/forum/8327/coding101-simpleloops-halfsumelement
r3v3nan7 avatar r3v3nan7 365 Точки

Ако искаш ползвай следния фрагмент от код

int n = int.Parse(Console.ReadLine());
int sum = 0;

int max = 0;

 

for(int i = 0; i < n -1; i++)

{

    int num = int.Parse(Console.ReadLine());

    if(num > max)          ///Проверява всяко въведено число от потребителя и ако то е по-голямо

                                   //от променливата max , на същата се предава текущата стойност на num и

                                 //така при всяко завъртане на цикъла се проверя и евентуално променя стойността

                               // на max

  num = max;

{

     int num = int.Parse(Console.ReadLine());

....

...

...

 

}

 

}

0
13/02/2016 17:30:23
lubomir999 avatar lubomir999 2 Точки

Можеш ли да го направиш върху моя код, защото не мога да схвана, съжелявам, че те карам да правиш това, но просто не мога да схвана! :)

0
r3v3nan7 avatar r3v3nan7 365 Точки

Сега ще се пробвам.. момент, че и аз съм ти написал някакво мазало без да искам... работя над кода ти 

0
r3v3nan7 avatar r3v3nan7 365 Точки

Заповядай :) 

http://pastebin.com/sKNqpKAb

2
kiso_blg avatar kiso_blg 57 Точки

По-добре използвай max = int.MinValue;. Ако първото число или и останалите са отрицателни, ще бъдат пропуснати.

3
r3v3nan7 avatar r3v3nan7 365 Точки

Правилно.. забравих за това :) Благодаря за поправката колега :) 

1
annsta avatar annsta 305 Точки

При първоначално задаване max = 0 и въвеждане само на отрицателни числа, резултатът за действителната стойност на max няма да бъде верен. Затова според мен първоначално на max трябва да се зададе възможно най-отрицателната стойност за типа данни.

2
zhivko1985 avatar zhivko1985 34 Точки

Колеги , моля да ми посочите къде ми е грешката 

 

using System;


namespace HalfSumElement
{
    class Program
    {
        static void Main()
        {
            long n = long.Parse(Console.ReadLine());
            long nume = long.MinValue;
            var sum = 0.0;
            for (long i = 0; i < n; i++)
            {
                var x = long.Parse(Console.ReadLine());
                sum += x;
                if (nume < x)
                {
                    nume = x;
                }
            }
            if (sum - nume == nume)
            {
                Console.WriteLine("Yes sum " + nume);
            }
            else if (true)
            {
                Console.WriteLine("No diff " + Math.Abs(nume - sum ));
            }
        }
    }
}

1