Моля някой да обясни
ModEdit: Колега, всяка следващата тема която пуснеш и тя не спазва правилата на форума, ще бъде премахвана. Ако не искаш това да става, те съветвам да прочетеш правилата на форума. Това се налага поради систематичното ти неспазване на правилата на форума, просто модераторския екип си имаме по-важни неща от това да ти редактираме темите (всеки път) вместо теб. Поздрави.
Не разбирам защо ми е .Length - 1 прочетох че е за да ми достъпва последният елемент в масива
https://judge.softuni.bg/Contests/6/CSharp-Basics-Exam-12-April-2014-Morning
Това е задачата и кода към нея
Да разбирам ли че когато сравнявам 2 елемента в масив то дължината трябва винаги да ми е -1 защото аз имам индекси от 0 1 2 3 и при първото завъртане зима 0 1 второ 1 2 трето 2 3 и ако имам още 1 ми излиза извън масива
Тръгвай от тук - последния възможен индекс в масива ти е дължината - 1.
Ако сравняваш два елемента то цикъла ти трябва да е до дължината на масива - 2, т.е. последната итерация в цикъла ще ти е при индекс дължината - 2, и елемента array[i + 1] ще ти е точно последния елемент от масива.
Ако срявнаваш три елемента - тогава ти трябва за край на итерацията на цикъла дължината на масива - 3, т.е. [i + 2] ще ти е последния елемент и т.н.
задазата си работи както трябва и без -1 и с -1 и -2 но при -3 се чупи чвно трябва да достъпи поне и елемент от някоя 3ка елементи.И др ще ми кажеш ли защо пък тук не е дълйината -1
http://pastebin.com/B6tVj5yL
http://pastebin.com/MwqpEMke
Ами самия израз: i < inputNumbers.Length означава, че i трябва да е по-малко от inputNumbers.Length. Т.е. i е до дължината минус 1.