Loading...

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

Elena123456 avatar Elena123456 235 Точки

Здравейте, искам да попитам дали е възможно тази задача да се реши с материала до тук, т.е без масиви, списъци, стрингове, речници, обекти или класове. Или евентуално след известно време отново да се върна на нея. Задачата е поместена в темата "Data types and variables", т.е почти веднага след бейсик нивото .

Ето общата ми логика, но нищо- дава, че входните данни не са в правилния формат.

using System;

namespace TrainingWithData2
{
    class MainClass
    {
        public static void Main()
        {

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

            for (int i = 0; i < lineNumbers; i++)
            {
                int num1 = int.Parse(Console.ReadLine()); // осъзнавам, че така няма как да стане четенето на две числа на един ред, но друг начин не сме учили.

                int num2 = Console.ReadLine();


                int digit1 = 0;
                int sum1 = 0;
                while (num1 > 0)
                {
                    digit1 = num1 % 10;
                    num1 = num1 / 10;
                    sum1 = sum1 + digit1;

                }

                int digit2 = 0;
                int sum2 = 0;
                while (num2 > 0)
                {
                    digit2 = num2 % 10;
                    num2 = num2 / 10;
                    sum2 = sum2 + digit2;

                }

                if (sum1 > sum2)
                {
                    Console.WriteLine($"{sum1}");
                }

                else if (sum2 > sum1)
                {
                    Console.WriteLine($"{sum2}");
                }
                else
                {
                    Console.WriteLine($"{sum1}");
                }

                }





            }
        }
    }
 

1
nickwork avatar nickwork 657 Точки

Четеш входа като стринг "10 20", итерираш през този стринг и на всяка итерация записваш резултата в една променлива и гледаш дали си стигнала до чарът празен спейс...ако да започваш да пълниш резултата в друга променлива, накрая парсваш двете променливи към две числови променливи и ги обработваш както си искаш.

using System;

namespace TrainingWithData2
{
    class MainClass
    {
        public static void Main()
        {

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

            for (int i = 0; i < lineNumbers; i++)
            {
                string numbers = Console.ReadLine(); // осъзнавам, че така няма как да стане четенето на две числа на един ред, но друг начин не сме учили.

                string fistNumberAssString = string.Empty;
                string secondNumberAssString = string.Empty;

                bool isFirstNumberFound = false;

                for (int j = 0; j < numbers.Length; j++)
                {
                    char currentDigit = numbers[j];

                    if (isFirstNumberFound == false)
                    {
                        if (currentDigit == ' ')
                        {
                            isFirstNumberFound = true;
                        }
                        else
                        {
                            fistNumberAssString += numbers[j];
                        }
                    }
                    else
                    {
                        secondNumberAssString += currentDigit;
                    }
                }

                int num1 = int.Parse(fistNumberAssString);
                int num2 = int.Parse(secondNumberAssString);

                int digit1 = 0;
                int sum1 = 0;
                while (num1 > 0)
                {
                    digit1 = num1 % 10;
                    num1 = num1 / 10;
                    sum1 = sum1 + digit1;

                }

                int digit2 = 0;
                int sum2 = 0;
                while (num2 > 0)
                {
                    digit2 = num2 % 10;
                    num2 = num2 / 10;
                    sum2 = sum2 + digit2;
                }

                if (sum1 > sum2)
                {
                    Console.WriteLine($"{sum1}");
                }

                else if (sum2 > sum1)
                {
                    Console.WriteLine($"{sum2}");
                }
                else
                {
                    Console.WriteLine($"{sum1}");
                }
            }
        }
    }
}

1
15/06/2020 15:08:37
Elena123456 avatar Elena123456 235 Точки

Благодаря за разясненията! :)

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