在尝试询问任何内容之前,我会尽可能澄清事情。 所以我现在正在高中作为程序员学习。最近,我的老师要求我在RAD Studio XE3中创建一个VCL表单应用程序,就像C程序一样,但只能用于表单和内容。在RAD Studio XE3中按字母顺序排列二维字符数组
我不得不创建矩阵N * M(最终2-D字符数组),其中存储拉丁字符。然后我不得不使用插入排序方法进行排序。所以我到目前为止所做的是,我定义了数组,我创建了一个从中读取这些字符的StringGrid1。我将它们存储到二维字符数组中,但对我来说最困难的事情是使它按字母顺序排列字符,但我不必将所有内容排序在一起,只对每行分别进行排序,然后进行最终更改出现在StringGrid1上(这不是问题)。
正如我之前说过的,我在解决这个问题时遇到了一些困难。我已经经历了十亿个例子,搜索谷歌像坚实的年龄。如果这些都是整数值,它就没有任何意义了,但我几乎不能承担C讨厌String值的事情。
我的程序:
http://i.stack.imgur.com/Brx9X.jpg
我这是怎么设法从StringGrid1字符来读取,并将它们存储到数组[i] [j]。 mmax和nmax用于告诉读多远,因为用户可以自己选择行和列数。
for(int i=0; i < mmax; i++) //Rindas (kolonnas)
{
for(int j=0; j < nmax; j++) //Kolonnas (rindas)
{
char * temp = (char*)(StringGrid1->Cells[i][j]).c_str(); //Nolasam no Edit lauka char elementu
array[i][j] = temp[0]; //Piešķiram masīvam šo elementu
ListBox1->Items->Add(array[i][j]); //Ierakstam ListBox1 masīva elementu
Button3->Enabled = False;
Button6->Enabled = True;
}
}
StringGrid1->Options = StringGrid1->Options >> goEditing; //Neatļauj lietotājam rediģēt StringGrid1 laukus
所以,现在的排序事情...我该怎么做?我没有线索。如何从二维排序字符,并且不应该对每行进行单独排序,例如,有5行,并且每行都被逐一排序。