C++;不起作用 我要求使用VisualStudio实现C++上的函数,给出输入: char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};
我必须按字母顺序排列字符串(不区分大小写),而不使用排序函数。这是我的方法:C++;不起作用 我要求使用VisualStudio实现C++上的函数,给出输入: char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};,c++,arrays,visual-studio-2010,char,bubble-sort,C++,Arrays,Visual Studio 2010,Char,Bubble Sort,我必须按字母顺序排列字符串(不区分大小写),而不使用排序函数。这是我的方法: char ** Ordenar(char **vecStr, unsigned int largo) { char * temp; for (int i=1; i<largo; i++){ for(int j=0 ; j<largo - 1; j++){ if (strcmpi(vecStr[j],vecStr[j+1])>0){
char ** Ordenar(char **vecStr, unsigned int largo)
{
char * temp;
for (int i=1; i<largo; i++){
for(int j=0 ; j<largo - 1; j++){
if (strcmpi(vecStr[j],vecStr[j+1])>0){
temp = vecStr[j];
vecStr[j] = vecStr[j+1];
vecStr[j+1] = temp;
}
}
}
//This is just to show the array
cout << "Strings ordenados =";
for(int i=0; i<largo; i++){
cout << " "<<vecStr[i];
}
cout << endl;
return vecStr;
}
char**Ordenar(char**vecStr,unsigned int-largo)
{
字符*温度;
对于(int i=1;i)为什么不使用strcmp()系列中的函数(如strcmpi()或类似函数)来进行比较。对于复制C样式字符串,请使用strcpy()进行比较。可能是因为这样一句话:我被要求在C++
上实现一个函数,这意味着这可能是一个家庭作业,这意味着使用外部库无法达到目的。@zero298-那么OP为什么要使用tolower()尝试用C++函数编写任何代码都是不可能的,如果不是不切实际的话。代码在VS2012中运行,也许错误在代码的其他部分。我认为,代码中没有错误。它实际上是“冒泡排序”的有效实现。.数组初始化、数组遍历和指针操作都是正确的。因此,如果出现错误,应该在项目配置或未显示的代码中。