for(j=0; j < cols; ++j) {
for(i=0; i < rows-1; ++i) {
if (a[i][j] > a[i+1][j]) {
std::swap(a[i][j], a[i+1][j]));
}
}
if (j < cols-1 && a[rows-1][j] > a[0][j+1]) {
std::swap(a[rows-1][j], a[0][j+1]);
}
}
p[i]
или *(p+i)
) p+1
на p+i
, то уже будут хотя бы заполнятся все элементы массива. Правда там только первый будет случайным числом в промежутке от -50 до 50, остальные будут от этого первого зависить - и могут быть очень большими. Там формула забита - домножать первое число на факториал и менять знак у каждого второго.