Loading...
AlucardDracula avatar AlucardDracula 416 Точки

[C# OOP Advanced] 01. ListyIterator - информация относно решенията под 100 точки

Здравейте колеги smiley

Погледнах резултатите от тая задача и видях че д/г има 15/20 хора които не са успели да я направят. 
Това ми стана интересно тъй като е първа задача и би трябвало да е лесна пък има над 10 човека под 100т и малко си поиграх да намеря колко точки дава в зависимост където сме грешили.
За сега намерих 2 места:

83/100 - 1 тест гърми > проблем при Print(), където се опитаме да принтираме елемент от празен масив. Решение:

try
{
    return this.Data[internalIndex].ToString();
}
catch (Exception)
{
    return "Invalid Operation!";
}


33/100 - 2/3/4/5 тест грешен отговор > проблем при индекса , което може да е със стойност по подразбиране -1. При тези тестове забелязах също че се пробват и Move() и HasNext() методите. Първо при напълно работещи методи смених индекса от 0 на -1 ми даде 33/100. След това промених HasNext() метода че винаги да връща false, тогава също ми даде 33/100.

Ако и вие сте забелязали дриги коментирайте smiley
 
 

Тагове:
0
C# OOP Advanced 28/07/2017 17:40:46
Javorov1103 avatar Javorov1103 12 Точки

пробвах всичко но, без ресултат, винаги ми дава 83/100. ако видиш къде бъркам моля поправи ме
http://dox.bg/files/dw?a=8ac46d0ca3

0
thereishope avatar thereishope 77 Точки

кажи кой тест не ти минава

0
AlucardDracula avatar AlucardDracula 416 Точки

Ето модифицирах решението ти.

Методите HasNext и Move са объркани, трябва да са точно обратното + малко им трябваше корекця

public bool Move()
{
    if (this.index++<this.elements.Count)
	{
		return true;
	}
    return false;
}

public bool HasNext()
{
    if (++this.index<this.elements.Count)
    {
        this.index--;
        return true;
    }
    this.index--;
return false;
}

грешките тука са: Move проверява дали сегашния индекс +1 е по-малко от количеството на елементи, и ако е така увеличава индекса с 1;
а HasNext прави същото само че ако може тогава просто връща true, без да прави нещо 
ето и с корекциите:
 

public bool Move()
{
    if (this.index+1<this.elements.Count)
    {
		this.index++;
        return true;
    }
    return false;
}

public bool HasNext()
{
    if (this.index+1<this.elements.Count)
    {
        return true;
    }
    return false;
}

 

1
mad_cop avatar mad_cop 6 Точки

Благодаря на AlucardDracula !

Аз не бях съобразил първо при Move() да проверя дали има следващ индекс и тогава да увелича curentIndex s 1, защото при примерно 3 елемента в листа ако няма команда Print() след всеки Move() минава, но ако има 3 Move() то 3-тият Print() ще опита да печата елемент извън листа.

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