По условию матрица должна должна состоять из однозначных положительных чисел, то есть она уже по условию не может содержать нули, а значит никак не может быть диагональной. Но если уж на это пошло, вот
beginvar n := Readinteger('n:'); var m := MatrRandom(n,n,1,9); m.Print; m.ElementsWithIndices.Where(x->x[1]<>x[2]).All(x->x[0]=0).Print;end.
По условию матрица должна должна состоять из однозначных положительных чисел, то есть она уже по условию не может содержать нули, а значит никак не может быть диагональной. Но если уж на это пошло, вот
beginvar n := Readinteger('n:'); var m := MatrRandom(n,n,1,9); m.Print; m.ElementsWithIndices.Where(x->x[1]<>x[2]).All(x->x[0]=0).Print;end.Пример работы: