私はこのコードで文字列の配列をソートしようとしています:
void sort(string scadena[]){
string temp;
//here i am intenting sort the elements. it works fine
for(int i=0;i<m;i++){
for(int j=i+1;j<m;j++){
if(scadena[i]>scadena[j]){
temp=scadena[i];
scadena[i]=scadena[j];
scadena[j]=temp;
}
}
}
// Here i am intenting remove the repeated elements, but it not works fine.
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
if(scadena[i]==scadena[j] && j!=i){
for(int k=j;k <m; k++){
scadena[k]=scadena[k+1];
}
m--;
}
}
}
//Because when i do the cout, the output has repeated elements. it not works
for(int i=0;i<m;i++){
cout<<i<<") "<<scadena[i]<<endl;
}
}
出力には要素が繰り返されていますが、その理由はわかりません。
完全なコードには、文字列の置換を行う関数があります。
私は何が起こるかしません。