Софтуерно Инженерство
Loading...
NikolayNeykov92 avatar NikolayNeykov92 618 Точки

Задай на int maxnum = int.MinValue; за да може програмата ти да работи коректно с отрицателни числа.

0
hadjivalchev avatar hadjivalchev 0 Точки

Благодаря.

0
rosen.tenev avatar rosen.tenev 3 Точки

Колеги бихте ли разказали накратко какво се слува на отделните редове от този код. На лекцията не го обясниха понеже било много лесно и елементарно, но на мен въобще изобщо не ми е ясно защо за "int smallest" задаваме "int.MaxValue;". На пръв поглед звучи напълно грешно.... 

Благодаря за отделеното време !

 

int smallest = int.MaxValue;

int biggest = int.MinValue;

while (true)

{

  string command = Console.ReadLine();

  if (command == "END") break;

  int num = int.Parse(command);

  if (num < smallest)  smallest = num;

  if (num > biggest)  biggest = num;

}

Console.WriteLine($"Max number: {biggest}");

Console.WriteLine($"Min number: {smallest}");

0
plamenpik avatar plamenpik 31 Точки

Идеята int smallest = int.MaxValue; е че за да намериш най малкото подадено число трябва началната ти стойност да е най голямото възможно число, защото ако примерно кажеш че int smallest = 0; и ти подават само положителни числа твоят резултат ще е 0 което е грешно а като почнеш от int.MaxValue всяко едно число без бего разбира се ще е по малко и ще го презаписваш в променливата, същото важи и за biggest но в обратна посока почваш от най малкота визможна стойност и така всяко подадено число ще е по голямо. Дано ти е станало малко по ясно :)

0
08/11/2018 07:32:31
rosen.tenev avatar rosen.tenev 3 Точки

Благодаря, помогна доста с изясняване на  загадката. Останалият код ще го разтълкувам.

0
plamenpik avatar plamenpik 31 Точки

using System;
                    
public class Program
{
    public static void Main()
    {
        int smallest = int.MaxValue;

        int biggest = int.MinValue;

        while (true)

        {

          string command = Console.ReadLine(); //Чечеш ред от конзолата като стринг за да провериш дали съвпада с END за да прекъснеш while цикъла което се случва в if-a по-долу.

          if (command == "END")
          {
              break;
          }
    
          int num = int.Parse(command); //Щом командата не е END я парсваш към число.

          if (num < smallest)  //Проверяваш дали числото не е по-малко от smallest ако е така презаписваш smallest.
          {
              smallest = num;
          }

          if (num > biggest)  //Проверяваш дали числото не е по-голямо от biggest ако е така презаписваш biggest.
          {
              biggest = num;
          }

        }
        //Печаташ стойностите на biggest и smallest
        Console.WriteLine($"Max number: {biggest}");

        Console.WriteLine($"Min number: {smallest}");
    }
}

0
rosen.tenev avatar rosen.tenev 3 Точки

Абсолютно същият коментар пратих на приятелката ми като обяснение на задачата - разбрал съм всичко.

Благодаря!

0