Есть множество задач, которые уже решены и решения строго математически доказаны.
Не мое дело, но то что вы делаете это даже не "велосипедостроение", Язык вы лучше не узнаете, навыков новых не получите, время потратите.
Конкретно по вашему вопросу (не смотря ни на что)
внимательно смтрите. Если i=0, то чему равно i-1?
for(int i=0; i<v.size(); ++i)
и этоv[i-1]>v[i]
как это сочетается?
for (int i=0; i<50; ++i)
Зачем вы мешаете C и С++?
Благодарю.