for (j = 0; j < n; ++j) { int p = 0, r = m - 1; while (a < b) { if (a[p][j] != 0 && a[r][j] != 0) { // меняем местами p++; r--; } else if (a[p][j] == 0) { p++; } else { r--; } } }