練習問題6.2は3文字列を入力し、小さい順に出力します.


C++プログラム設計(第三版)譚浩強習題6.2個人設計
練習問題6.2は3文字列を入力し、小さい順に出力します.
コードブロック:
  • 用文字ポインタ配列
  • #include 
    #include 
    using namespace std;
    void sort(char *s[3], int n);
    int main()
    {
        char *string[3];
        int i;
        for (i=0; i<3; string[i++]=(char *)malloc(20*sizeof(char)));
        for (i=0; i<3; cout<<"Please enter No."<1<<" string: ", cin>>string[i++]);
        sort(string, 3);
        for (i=0, cout<<"Sort by: "; i<3; cout<<string[i++]<<' ');
        cout<"pause");
        return 0;
    }
    void sort(char *s[], int n)
    {
        int i, j;
        char *temp;
        for (i=0; ifor (j=i+1; jif (strcmp(s[i], s[j])>0){
                    temp=s[i], s[i]=s[j], s[j]=temp;
                }
    }

    2 . stringメソッドで
    #include 
    #include 
    using namespace std;
    void sort(string s[], int n);
    int main()
    {
        string str[3];
        int i;
        for (i=0; i<3; cout<<"Please enter No."<1<<" string: ", cin>>str[i++]);
        sort(str, 3);
        for (i=0, cout<<"Sort by: "; i<3; cout<' ');
        cout<"pause");
        return 0;
    }
    void sort(string s[], int n)
    {
        int i, j;
        string temp;
        for (i=0; ifor (j=i+1; jif (s[i]>s[j]){
                    temp=s[i], s[i]=s[j], s[j]=temp;
                }
    }