我被要求使用Visual Studio在C ++上实现一个函数,给定输入:
char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};
我必须按字母顺序排序字符串(不区分大小写)而不使用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){
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;
}
但它告诉我,“调试断言失败”。根据我在其他问题中读到的内容,这可能是因为我在排序过程中丢失了阵列中的一些位置。 你能告诉我怎么纠正这个吗?这是我第一次使用C ++和指针
该代码在分类和显示阵列时起作用,但是他说“调试失败失败”