for(int *ptr = s[0];ptr <= N;ptr++)
Что с чем вы сравниваете в условии?
Десятый элемент находится по адресу s + N, а не N
Тут же сравнение адреса (который почти всегда сильно больше десяти) с числом. Наверное все-таки как-то так:
for(int *ptr = s; ptr-s <= N; ptr++)
или
for(int *ptr = s; ptr <= s+N; ptr++)
Ну и плюс еще ошибка на которую вам
Дмитрий указал
Плюс у вас бесполезная строка
int *ptr = s;
Зачем вы объявляете переменную ptr, которая больше нигде не используется? (зато в цикле вы объявляете еще одну переменную с таким же именем, которая не та же самая переменная, что объявлено раньше)
К тому же почему вы считаете ответ 9 не верным? Ваш код выводит максимальное значение, это именно 9.