Loading...
Deni95 avatar Deni95 2 Точки

Problem 02. Book Worm C# Advanced Exam - 26 October 2019

Здравейте, може ли някой да ми помогне , с тази задача. 1-вия тест минава втория гърми , заради това условие :

If he tries to move outside of the field, he is punished - he loses the last letter in the string, if there are any, and the player’s position is not changed.*  Не съм използвала нито стек нито опашка и реално не знам как да премахна просто буквата ако излиза извън матрицата. пробвах всякакви начини да замеnя буквата с '-', но не става. Ще съм благодарна ако някой ми помогне за решението или ми даде поне някаква насока, как да процедирам. Благодаря предварително!

https://judge.softuni.bg/Contests/1853/CSharp-Advanced-Exam-26-October-2019

using System;
using System.Linq;
using System.Collections.Concurrent;
using System.Text;


namespace Book_Worm
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            int size = int.Parse(Console.ReadLine());

            char[,] matrix = new char[size, size];

            int playerRow = 0;
            int playerCol = 0;

            for (int row = 0; row < size; row++)
            {
                char[] array = Console.ReadLine()
                      .ToCharArray(); // SO---

                for (int col = 0; col < size; col++)
                {
                    char ch = array[col];

                    if (ch == 'P')
                    {
                        playerRow = row; // na koq kolona i koi red sme namerili igracha
                        playerCol = col;
                    }
                    matrix[row, col] = ch; // na tozi red i tozi red i sloji tozi element                 
                }
            }
            matrix[playerRow, playerCol] = '-';

            string directions = Console.ReadLine();

            bool isEnd = false;

            while (true)
            {
                while (directions != "end")
                {
                    // right -> row stay same 0, col +1; // (0, 1)
                    // left -> row stay same 0, col -1; // (0, -1)
                    // up -> row -1, col stay same 0   // (-1, 0)
                    // down -> row +1, col stay same 0 //  (1, 0)

                    switch (directions)
                    {
                        case "left":
                            playerCol -= 1;
                            matrix[playerRow, playerCol + 1] = '-';
                            break;
                        case "right":
                            playerCol += 1;
                            matrix[playerRow, playerCol - 1] = '-';
                            break;
                        case "up":
                            playerRow -= 1;
                            matrix[playerRow - 1, playerCol] = '-';
                            break;
                        case "down":
                            playerRow += 1;
                            matrix[playerRow + 1, playerCol] = '-';
                            break;
                    }

                    char element = matrix[playerRow, playerCol];

                    if (char.IsLetter(element))
                    {
                        input += element;
                        matrix[playerRow, playerCol] = 'P';

                    }
                    if (IsOutside(size, playerRow, playerCol))
                    {
                        char curruntChar = matrix[playerRow, playerCol] = '-';
                    }

                    directions = Console.ReadLine();
                }

                if (isEnd == false)
                {
                    break;
                }
            }

            Console.WriteLine(input);

            //In the end print the matrix.

            for (int row = 0; row < size; row++)
            {
                for (int col = 0; col < size; col++)
                {
                    Console.Write(matrix[row, col]);
                }

                Console.WriteLine();
            }
        }

        private static bool IsOutside(int size, int playerRow, int playerCol)
        {
            return playerRow >= size ||
                    playerRow < 0 ||
                    playerCol >= size ||
                    playerCol < 0;
        }
    }
}

 

 

 

Тагове:
0
C# Advanced 19/02/2020 17:30:09
Jertyers avatar Jertyers 1 Точки

Problem 02 book worm C# advanced exam date is now selected. This bestdissertation.com date is good and starts to understand it from coding, Sometimes coding is not mentioned because we collect something different and we are trying to solve some of these problems.

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