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;
}
Bài liên quan
Đã 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