Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

tanchev avatar tanchev 2 Точки

Methods Lab - 09. Greater of Two Values

1.Greater of Two Values

Create a method GetMax() that returns the greater of two values (the values can be of type int, char or string)

Examples

Input

Output

int

2

16

16

char

a

z

z

string

aaa

bbb

bbb

 

Това ми дава 77/100 и не знам, защо при положение, че кода работи, ако някой е наясно да ми каже, ще съм супер благодарен:

using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            string command = Console.ReadLine();
            if (command == "int")
            {
                int first = int.Parse(Console.ReadLine());
               int second = int.Parse(Console.ReadLine());
                HigherThenTwo(first, second);
            }
           else if (command == "char")
            {
                char first = char.Parse(Console.ReadLine());
                char second = char.Parse(Console.ReadLine());
                HigherThenTwo(first, second);
            }
            else if (command == "string")
            {
                string first = Console.ReadLine();
                string second = Console.ReadLine();
                HigherThenTwo(first, second);
            }

        }

        static int HigherThenTwo(int first, int second)
        {
       
            int result = 0;
            if (first > second)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine(result);
            return result;
        }
        static char HigherThenTwo(char first, char second)
        {
   
            int result;
            if (first > second)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine((char)result);
            return (char)result;

        }
        static string HigherThenTwo(string first, string second)
        {
            string result = string.Empty;
            int firstSum = 0;
            int secondSum = 0;
            foreach (char c in first)
            {
                firstSum += c;
            }
            foreach (char c in second)
            {
                secondSum += c;
            }
            if (firstSum > secondSum)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine(result);
            return result;
        }





    } 

}

И по интересния факт е, че с готовия мотод за comparison работи и ми дава 100/100:

using System;
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            string command = Console.ReadLine();
            if (command == "int")
            {
                int first = int.Parse(Console.ReadLine());
                int second = int.Parse(Console.ReadLine());
                HigherThenTwo(first, second);
            }
            else if (command == "char")
            {
                char first = char.Parse(Console.ReadLine());
                char second = char.Parse(Console.ReadLine());
                HigherThenTwo(first, second);
            }
            else if (command == "string")
            {
                string first = Console.ReadLine();
                string second = Console.ReadLine();
                HigherThenTwo(first, second);
            }

        }

        static int HigherThenTwo(int first, int second)
        {

            int result = 0;
            if (first > second)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine(result);
            return result;
        }
        static char HigherThenTwo(char first, char second)
        {

            int result;
            if (first > second)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine((char)result);
            return (char)result;

        }
        static string HigherThenTwo(string first, string second)
        {
            string result = string.Empty;
            int comparison = first.CompareTo(second);
            if (comparison > 0)
            {
                result = first;
            }
            else
            {
                result = second;
            }
            Console.WriteLine(result);
            return result;

     
        }

    }
}

Някакви идеи?

Мерси,

2
Fundamentals Module
MPeychev avatar MPeychev 8 Точки

Ето едно решение на задачата:https://pastebin.com/hUVkMgbS

За първите два метода можеш да използваш Math.Max(); (ще ти спести няколко реда повторение на код)

Използвай си метода CompareTo за да сравниш двата string-а (Все пак хората за това са го измислили). The CompareTo method was designed primarily for use in sorting or alphabetizing operations.https://docs.microsoft.com/en-us/dotnet/api/system.string.compareto?view=netcore-3.1

1
Elena123456 avatar Elena123456 235 Точки

Здравейте,

предлагам и моето решение на задачата с използването на if..else, Math. Max() за сравнение на char и int, и CompareTo() за сравнение на string.

Интересното за тази задача е, че поне в четири лекции за Методи от минали издания на Fundamental modul или я прескачат или предлаганите решения дават 0/100 в Judge. Ето защо тази тема ще бъде изключително полезна за доста хора, които не разполагат с много време.

Поздрави!

 

 

using System;
using System.Linq;
namespace Methods
{
    class MainClass
    {

 

        public static void Main()
        {
            string command = Console.ReadLine();

            if (command == "int")
            {
                int firstNumber = int.Parse(Console.ReadLine());
                int secondNumber = int.Parse(Console.ReadLine());
                int result= GetMax(firstNumber, secondNumber);
                Console.WriteLine(result);
            }

            else if (command == "string")
            {
                string firstText = Console.ReadLine();
                string secondText = Console.ReadLine();
                string result = GetMax( firstText,  secondText);
                Console.WriteLine(result);

            }

            else if (command == "char")
            {
                char firstChar = char.Parse(Console.ReadLine());
                char secondChar = char.Parse(Console.ReadLine());
                char result = GetMax(firstChar, secondChar);
                Console.WriteLine(result);
            }
        }


     static int GetMax(int firstNumber, int secondNumber)
        {
            int result = Math.Max(firstNumber, secondNumber);
            return (result);
        }

        static string GetMax (string firstText, string secondText)
        {
            int comparison = firstText.CompareTo(secondText);
            if (comparison > 0)
            {
              return (firstText);
            }
            else
            {
                return(secondText);
            }
        }

        static char GetMax(char firstChar, char secondChar)
        {
            char result = (char)Math.Max(firstChar, secondChar);
            return (result);
        }
    }
  }


      

 

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