void Sorted(int arr[], int size)
{
for (int i=0; i < size; i++)
{
if (arr[i] > arr[i + 1])
cout << "Array is not ordered" << ends;
else
cout << "Array is ordered" << ends;
break;
}
}
Не правильно работает проверка массива на упорядоченность по возрастанию, где ошибка?
Я бы это отредактировал так:
void Sorted(int arr[], int size)
{
for (int i=0; i < size - 1; i++)
{
if (arr[i] > arr[i + 1])
{
cout << "Array is not ordered" << ends;
return;
}
}
cout << "Array is ordered" << ends;
}
Обратите внимание, что условие продолжения цикла i < size - 1 (иначе выйдете за границу массива на i+1), кроме того break заменен на return. А в вашем варианте break срабатывал после первой же итерации, что неверно (цикл не доходил до конца).
Сборка персонального компьютера от Artline: умный выбор для современных пользователей