Loading...

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

YanchoKostov avatar YanchoKostov 3 Точки

04. Game Number Wars и 06. High Jump - Programming Basics Online Exam - 9 and 10 March 2019

Здравейте, не мога да измисля тези две задачи.

04. Game Number Wars:

https://pastebin.com/Zfi0gbHy

Основно не мога да измисля как да се казва End game. Сигурно има и други грешки или цялата е.

https://judge.softuni.bg/Contests/Practice/Index/1538#6

06. High Jump 

https://pastebin.com/WMx5U7b6

Нещо сметката не излиза.

https://judge.softuni.bg/Contests/Practice/Index/1538#10

0
Programming Basics with C#
Borislav_Vulkov avatar Borislav_Vulkov 54 Точки
Best Answer

Здравей,
04. Game Number Wars - никъде нямащ условието за изход от програмта при въвеждане на команда "End of game", а когато се получи условие за "Number wars" програмата трбва да получи още две числа съответно за стойностите на картите един и другия играч, а това при теб го няма. Ето какво можеш да направиш: 
Аз лично предочитам да използвам един вечен цикъл  while (true) който да го прекъсна при определени условия. В него първо прочитам един string от конзолата и го роверявам дали е равен на End of game, ако не е то той е число и го порствам към интидйър. за стойноста на първата карта. След това прочим стойността на втората карта. Прави се една елементарна проверка за това коя карта е по висока и съответно точките на победителя при това раздаване се добавът към неговия резултат. Ако нито едно от условита :  if (card1 > card2) и else if (card2 > card1) не е изпълнено то картите са еднакви и влизама е последния else. Там отново се прочитат още веднъж картите на двамата играчи. Проверява се кой е победител и програмата пркключва защото се стига до break.

==========

using System;

namespace GameNumberWars
{
    class GameNumberWars
    {
        static void Main()
        {
            string name1 = Console.ReadLine();
            string name2 = Console.ReadLine();

            int points1 = 0;
            int points2 = 0;

            string command = string.Empty;

            while (true)
            {
                command = Console.ReadLine();
                if (command == "End of game")
                {
                    Console.WriteLine("{0} has {1} points", name1, points1);
                    Console.WriteLine("{0} has {1} points", name2, points2);
                    break;
                }
                int card1 = int.Parse(command);
                command = Console.ReadLine();
                int card2 = int.Parse(command);

                if (card1 > card2)
                {
                    points1 += Math.Abs(card1 - card2);
                }
                else if (card2 > card1)
                {
                    points2 += Math.Abs(card1 - card2);
                }
                else
                {
                    Console.WriteLine("Number wars!");
                    command = Console.ReadLine();
                    card1 = int.Parse(command);
                    command = Console.ReadLine();
                    card2 = int.Parse(command);
                    if (card1 > card2)
                    {
                        Console.WriteLine("{0} is winner with {1} points", name1, points1);
                    }
                    else
                    {
                        Console.WriteLine("{0} is winner with {1} points", name2, points2);
                    }
                    break;
                }
            }
        }
    }
}
==========

06. High Jump

условите на for цикъла трябва да е for (int i = n - 30; i <= n; i += 5), където n e височината.

==========

using System;

namespace HighJump
{
    class HighJump
    {
        static void Main()
        {
            int n = int.Parse(Console.ReadLine());
            int l = 0;
            int counter = 0;

            for (int i = n-30; i <= n; i+=5)
            {
                l = int.Parse(Console.ReadLine());
                counter++;
                if (i == n && l > n)
                {
                    Console.WriteLine("Tihomir succeeded, he jumped over {0}cm after {1} jumps.", i, counter);
                    break;
                }

                if (l > i)
                {
                    continue;
                }

                if (l <= i)
                {
                    l = int.Parse(Console.ReadLine());
                    counter++;
                    if (i == n && l > n)
                    {
                        Console.WriteLine("Tihomir succeeded, he jumped over {0}cm after {1} jumps.", i, counter);
                        break;
                    }
                    if (l <= i)
                    {
                        l = int.Parse(Console.ReadLine());
                        counter++;
                        if (i == n && l > n)
                        {
                            Console.WriteLine("Tihomir succeeded, he jumped over {0}cm after {1} jumps.", i, counter);
                            break;
                        }
                        if (l <= i)
                        {
                            Console.WriteLine("Tihomir failed at {0}cm after {1} jumps.", i, counter);
                            break;
                        }
                    }
                }
            }
        }
    }
}
==========

Поздравй,
Боби

 

 

 

0
YanchoKostov avatar YanchoKostov 3 Точки

Благодаря ти много!

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