Софтуерно Инженерство
Loading...
+ Нов въпрос
maya.peneva avatar maya.peneva 18 Точки

Increasing Elements / Sample Coding 101 Exam - Jan 2016

Здравейте, 

Видях, че има не един въпрос по тази задача, но в решенията не откривам помощ за моя код. Judge ми дава 75%, а каквито и тестове да пробвам - минават. Моля за помощ.

Ето кода: http://pastebin.com/LGT72sAE

Janislav avatar Janislav 154 Точки
Best Answer

Трябва да извадиш "counter1 = 1" извън if-ът, в който е. За да може бройката да се рестартира винаги, когато текущото число не е по-голямо от предищното. Ето променения код (1 ред е по-надолу).

Поправеното решение: http://pastebin.com/GrGij9j2

Ето още едно решение с малко разлики: http://pastebin.com/Z5d5zWcG 

0
01/11/2016 02:22:25
maya.peneva avatar maya.peneva 18 Точки

Много ти благодаря. Определено нямаше да се сетя, а и твоята подребда е по-добра. 

Благодаря!

1
dakata avatar dakata 26 Точки

1. Условие на задачата: Дадена е редица от n числа: a1, a2, …, an. Да се пресметне дължината на най-дългата нарастваща поредица от последователни елементи в редицата от числа.

2. Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/157#7

3. Примерно решение: 

int input = int.Parse(Console.ReadLine());
short count, num, max, start;
count = num = max = start = 0;
for (int i = 0; i < input; i++)
{
    num = short.Parse(Console.ReadLine());//Вход
    //Първа проверка: Проверка на входящото число
    if (i == 0 || num > start) count++;//В началото или ако входящото число е по-голямо от предходното число  увеличи "брояча" с единица
    else count = 1;//Рестартирай "брояча" ако входа е със същата или с по-ниска стойност
    //Втора проверка: Проверка дали имаме нова максимална стойност на нарастваща поредица
    if (count > max) max = count;//Ако стойността на "брояча" е по-висока от най голямата до момента поредица то той става новата най-голяма поредица

    start = num;//start променливата (спрямо нея проверяваме следващото число, т.е. входа) приема стойността на входа преминал през първата проверка
}
Console.WriteLine(max);

 

0
01/11/2016 09:45:24