自从小飞学会sort排序后,对之前学过的冒泡排序,选择排序都不屑一顾,因为sort排序使用方便,效率还高。但最近他遇到一个瓶颈,如何利用sort排序对二维数组每行分别进行排序,思来想去他认为这是sort排序的不足之处。最近他认真的学习了指针,才发现不是sort排序不足,是自己知识运用不够熟练。但只想摆烂的他寄希望于好朋友——你,希望你能帮他解决这个问题。
#include<iostream> ___(9)___; using namespace std; int n, m, i, j, p; int **a, ___(1)___; //用于生成二维数组 int main() { cin >> n >> m; a = new int* [n]; for (i = 0; i < n; ++i) ___(2)___; //生成每行的一维数组 for (i = 0; i < n; ++i) for (j = 0; j < m; ++j) cin >> *(*(a + i) + j); cin >> p; if (p % 2) { for (i = 0; i < n; ++i) sort(___(3)___, ___(4)___); //sort排序 } else { ___(5)___;//这里生成什么? for (j = 0; j < m; ++j) *(b + j) = new int [n]; for (i = 0; i < n; ++i) for (j = 0; j < m; ++j) ___(6)___; for (j = 0; j < m; ++j) sort(*(b + j), *(b + j) + n); for (j = 0; j < m; ++j) { for (i = 0; i < n; ++i) *(*(a + i) + j) = *(*(b + j) + i); ___(7)___; } delete [] b; } for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) cout << *(*(a + i) + j) << " "; cout << endl; delete [] *(a + i); } ___(8)___; return 0; }