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

Interval of Numbers {C# Conditional Statements and Loops - Exercises} Ако може малко помощ.

Здравейте, задачата, за която пиша е 6. Получава ми се само когато е от по-малко към по-голямо. може ли идей и съвети как да го направя от по-голямо към по-малко? 
Код: https://pastebin.com/rSBL9f9R

Тагове:
0
Fundamentals Module 05/06/2017 17:52:22
spzvtbg avatar spzvtbg 581 Точки

ами ако се изисква от условието провери кое е по малкото и почни от него до по голямото или ползваи методите на мат мин и мат махс

0
AlucardDracula avatar AlucardDracula 416 Точки

линк към условията : ЛИНК

условието на задача 6 : Write a program, which takes two numbers as input and prints the interval of numbers between them, starting from the smaller one and ending with the larger one.

т.е ще ни се подадат 2 цифри и ние трябва да принтираме на конзолата числата между най-малко и най-голямото като трябва да започнем принтирането от най-малкото число :

проблема ти е че не намираш най-малкото число за да го използваш в for цикъла като стартова точка

ето и решение:

var a = int.Parse(Console.ReadLine());
var b = int.Parse(Console.ReadLine());
var maxNum = Math.Max(a, b);
var minNum = Math.Min(a, b);
for (int firstDigit = minNum; firstDigit <= maxNum; firstDigit++)
{
   Console.WriteLine(firstDigit);
}

чрез Math.Min намираме най-малкото число от 2 числа.а при Math.Max е обратния случай

това с Math.Min и Math.Max можеше и да се направи с if-else:

var a = int.Parse(Console.ReadLine());
var b = int.Parse(Console.ReadLine());
var maxNum = 0;
var minNum = 0;
if (a >= b)
{
    maxNum = a;
    minNum = b;
}
else
{
    maxNum = b;
    minNum = a;
}
for (int firstDigit = minNum; firstDigit <= maxNum; firstDigit++)
{
    Console.WriteLine(firstDigit);
}

но не изглежда много хубаво + виж колко реда е smiley

1
05/06/2017 21:26:46
gturlakov avatar gturlakov 2 Точки

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

 var min = int.Parse(Console.ReadLine());
            var max = int.Parse(Console.ReadLine());
            if (min < max)
            {
                for (int i = min; i <= max; i++)
                {
                    Console.WriteLine(i);
                }
            }
            else
            {
                for (int i = max; i < min+1; i++)
                {
                    Console.WriteLine(i);
                }

1
05/06/2017 21:42:13
SpideRrBG avatar SpideRrBG 0 Точки

Благодаря! :) 

0
simeon3000 avatar simeon3000 264 Точки

wink Много ги обичате тези проверки:

 

      int a = int.Parse(Console.ReadLine());
      int b = int.Parse(Console.ReadLine());

      for (int i = Math.Min(a, b); i <= Math.Max(a, b); i++)
        {
          Console.WriteLine(i);
        }
1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.