ну раз основа уже есть и 10.2 вы сами решили, то вероятно сложность в том, что вы не понимаете как это делать. Поэтому просто поясню.
Что касается 10.1 главная диагональ квадратной 2-мерной матрицы это элементы расположенные на линии от левого верхнего, до правого нижнего угла, то есть a[i,i], что для вашей заготовки b[1,1], b[2,2] ...b[6,6] (если у вас массив 6 на 6). Побочная дианогаль идет слева снизу в правый верхний угол, т. e. a[n-i+1,1] (для массивов с индексами, начинающимися с 1), где n - размерность массива, т. е. для вашей заготовки: b[6,1], b[5,2] ...b[1,6]
соответственно по условию задачи вам нужно в цикле пройти по этой ПОБОЧНОЙ диагонали и если элемент <0, то домножить на него некоторую переменную P, которой до цикла должно быть присвоено значение 1. В ней и будет накоплено произведение отрицательных элементов побочной диагонали.
Что касаемо задачи 10.3, то тут есть варианты. Само условие нечетности можно записать как
if(b[i,j] mod 2 <>0)
then
begin
//выполняем действие для нечетного элемента
end;
а вот с новым массивом несколько неоднозначнее). Логично было бы объявить динамический массив, наращивать его размер, по необходимости и присваивать значения
https://onlinegdb.com/-gI-MzTcl, но, судя по задачам, вы их могли не проходить. А статичные массивы в паскале не поддерживают добавление элементов.
А значит надо создать массив с запасом, т. е. размером длины всего B, n*n, в вашем примере это 6*6=36. Изначально паскаль забьет его нулями, что нас устраивает.
далее пробегая по b в двойном цикле и если оно выполняется наращиваем индекс массива нового на 1 и по этому индексу сохраняем значение. в новом массиве. При выводе же выводим только элементы отличные от нуля, и более того встретив 0 можно прервать цикл.