01/10/2018, 09:58

Nhờ Sửa code c++

em có một đoạn code như này. bây giờ em không muốn nhập n(tên) nữa, em muốn khai báo tên trong mảng luôn thì sửa thế nào???

using namespace std;
void swap ( int &a , int &b)
{
    int t = a;
        a = b;
        b = t;
}
int main()
{
				char *dong[100];
                int i , n, j ;
                cout << " nhap so ten : ";
                cin>>n;
                // nhap mang
                for ( i = 0 ; i < n ; i++ )
                {
                     dong[i] = new char [100];
                     cout << " nhap ten lan luot la  "<< i +1 << " : ";
                     fflush(stdin);
                     cin.getline(dong[i],100);
                }
                // sap xep mang
                for ( i = 0 ; i < n; i++ )
                {
                    for (  j = i+1 ; j <= n ; j++)
                    {
           
                        if ( (strcmp(dong[i],dong[j]))> 0 )
                        {
                            swap ( dong[i], dong[j]);
           
                       
                        }
                    }
                }
                // in man
                cout << " sau khi sap xep ten la : 
";
                for ( i = 0 ; i <= n ; i++ )
                {
           
                      cout << dong[i] << endl;
                }
                system ("pause");
                return 0;
            }
Trần Hoàn viết 12:14 ngày 01/10/2018

Đã là C++ thì còn dùng char[] làm gì em, dùng std::string luôn và ngay.
Đã là mảng thì em phải nhập trước số lượng phần thử để chương trình chuẩn bị trước vùng nhớ. Còn nếu không muốn phải nhập trước thì em chọn kiểu dữ liệu năng động hơn, ví dụ std::list

Bài liên quan
0