(С++) Требуется помощь от опытных программистов по проверке

Приветствую всех опытных программистов. Я бедный студент и не сильно понимаю в этом разнообразие команд, но замечал, что мой преподавать как будто бы на отвали проверяет мои работы и хочу поинтересоваться у вас.
Я писал контрольную по массивам и ее мне зачли, но я вижу в ней явные какие то ошибки, либо я параноик.

Сама задача: Дан одномерный массив A, состоящий из n элементов (диапазон случайных возможных значений от 1 до 15). Найти сумму и произведение элементов массива, больших данного числа b (b вводится с клавиатуры).

Фото моего решения (фоткал на скорую руку):

зачем? скопируйте и вставьте в виде текста.

так запустите и проверьте на разных примерах, зачем гадать )

Я не мог скопировать, так как не было флешки с собой. Во-вторых, если бы я хотел проверить, то я бы не создавал данную тему, ибо я вообще не шарю за массивы и прочее, по этому прошу помощи толковых ребят, которые могут реально что то сказать.

Так а “явные ошибки” какие видите?

Я в программирование вообще не разбираюсь, для меня явная ошибка это не поставить “;” или что то подобное. По этому я и обратился к ребята, кто хоть что то может понимать.

Так вы ж сказали

почему б не начать с изложения мыслей про это?)

; вроде бы все на месте :man_shrugging:

Вообще для начала наверно стоит переписать код с картинки в текстовый файл и скормить его компилятору )

Первым аргументом setlocale вместо нуля использовал бы одну из констант (LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME - cppreference.com). Элементы массива инициализируются значениями из неверного диапазона. Не дублировал бы if и использовал compound assignment:

if (a[i] > b)
{
    sum += a[i];
    p *= a[i];
}

И память, выделенную под a, освободить.