私は2次元(3x7)の配列を持っています。私は行ごとにそれを並べ替えると思います。私はサンプルコードを書いています。2次元配列の行ごとにソート
#define numRows 3
#define numCols 7
int arr[numRows-1][numCols-1] = {{0,1,2,3,4,5,6}, {7,8,9,10,11,12,13},{14,15,16,17,18,19,20}};
sort_row(arr);
void sort_row(int *p)
{
for (int i = 0 ;i<numRows-1;i++)
{
sort(p[i][]);
}
}
void sort(int *p)
{
for (int c = 1 ; c <= numCols - 1 ; c++)
{
for (d = 0 ; d <= c - 1 ; d++)
{
if (array[c] < array[d])
{
swap = array[d];
array[d] = array[c];
for (int k = c ; k > d ; k--)
array[k] = array[k-1];
array[k+1] = swap;
}
}
}
}
各行に挿入の並べ替えをしています。
Qn:各行を適切に並べ替えていますか?どうすれば改善できますか?それは、コード
注 'D '、' N 'と' swap'が宣言されていない変数です。 – hmjd
ありがとうございました... – lakesh
このコードをテストしましたか? 'sort()'の 'n'の初期値はどれですか? 'numRows'と' numCols'の値はどれですか?なぜ 'arr'は' numRows - 1'と 'numCols - 1'にディメンション化されていますか? –