Loading...

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

GGzzZZzz avatar GGzzZZzz 6 Точки

[Exam Problem] C# Basics - 20 December 2014 - Problem {4} - Text Bombardment

Започнах да решавам задачи от минали изпити и на 4та задача немога да си открия грешката и немога да разбера защто получавам 75/100!Помогнете да си открия грешката :) вече 3 часа опити и нищо.

Кода към решението ми е тук.

Тагове:
0
Programming Basics 18/03/2015 10:19:15
mgulubov avatar mgulubov 73 Точки

for (int k = 0; k < bombs.Count; k++)
{
    if (j == bombs[k] && matrix[i, j] != ' ')
    {
        matrix[i, j] = ' ';
    }
    else if (j == bombs[k] && matrix[i, j] == ' ' && i > 0)
    {
        bombs.RemoveAt(k);
    }
}

Не правиш проверка, дали следващото поле, в бомбандираната колона, е празно, понеже ако е празно, трябва да прекъснеш последния цикъл. Пробвай, да го направиш "За всяка бомба, отиди на въпросното поле и го направи ' '. Ако следващото поле е празно, започни проверка за следващата бомба". В код, ще е нещо подобно: http://pastebin.com/DNK2HWik

1
GGzzZZzz avatar GGzzZZzz 6 Точки

Благодаря ти!Прав беше промених кода ето така и заспа :) 100/100!

for (int k = 0; k < bombs.Count; k++)
{
         if (j == bombs[k] && matrix[i, j] != ' ')
         {
                 matrix[i, j] = ' ';

                 if (i< rows - 1 && matrix[i+1,j] == ' ')
                 {
                        bombs.RemoveAt(k);
                  }

           {

}

0
GGzzZZzz avatar GGzzZZzz 6 Точки

Отново имам проблем с задача от този изпит , затова не отварям нова тема, а именно :  C# Basic - 20 December 2014 , този път проблема е с : Problem 5 - Bit Lock. Проверих я днес сутринта и хоп 75/100 видях си грешката и стана 90/100.Може ли някои да ми каже каде греша, че не успявам да си намеря грешката.Кодът ми може да се види  тук

0
Filkolev avatar Filkolev 4482 Точки

Най-добре хвани входните данни от теста и дебъгни с тях. 

0
naskoni avatar naskoni 68 Точки

Много готина задачка, но според мен може да се реши и без матрица: Обхождаме в цикъл масив от chars, проверяваме дали текущия символ за бомбардировка не е интервал и го променяме на такъв, като на всяка итерация увеличаваме индексите с ширината (само ако не сме бомбили интервал, разбира се). 

0
naskoni avatar naskoni 68 Точки

Оказа се, че не е толкова просто, колкото си мислех. crying Ето решението http://pastebin.com/zAhsA3ti което се дъни на седми и осми тест, т.е. само 75 точки изкарва. Може би с матрица е по-лесно. smiley

0
Filkolev avatar Filkolev 4482 Точки

По принцип си прав, че няма нужда да се решава с матрица. Ако имаш желание ще потърся решение с обикновен масив и ще постна линк.

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