長さに応じて名前を含む配列をソートするとしますが、関数を使用してスワップしようとすると、次のプログラムでコンパイラエラーが発生します。私の間違いを特定するのを手伝ってください。C++で2次元配列を使用したスワップ
void sort(char name1[][50])
{
for (int i = 0; i < 5; i++)
{
if (strlen(name1[i])>strlen(name1[i+1]))
{
char temp[50];
temp=name1[i];
name1[i]=name1[i+1];
name1[i+1]=temp;
}
}
}
'std :: string'を使用すると、より簡単に実行できます。 –
これは完全な並べ替えではありません。一般的に、データを完全にソートするには、配列を複数回通過させる必要があります。あなたが['" abcde "'、 '' abcd ''、 '' abc ''、 '' ab "' '、' '' ''を渡した場合、出力は '' "abcd" '、' 'abc "、" ab "、" "、" "、" "abcde" '] –