Có cách nào mà không sử dụng mảng để viết những điều sau đây với một vòng lặp:thay đổi tên biến với một vòng lặp
cout<<"This variable c1 ="c1
cout<<"This variable c2 ="c2
cout<<"This variable c3 ="c3
for(i=1,i<8,i++)
cout<<"This variable c%d =",i<<**????**<<
Đây là rõ ràng không phải là những gì tôi cần phải làm nhưng là ví dụ đơn giản nhất tôi có thể nghĩ ra với cùng một vấn đề ... Vì vậy, những gì tôi muốn làm là thay đổi các biến trong vòng lặp, không phải đầu ra!
EDIT: Cảm ơn rất nhiều cho tất cả đầu vào, đây là một chút mã để giúp minh họa sự cố của tôi ... Im Sử dụng Cplex với C++. Các vòng lặp sẽ không kết thúc vào lúc bảy nhưng khi một tiêu chí dừng được đáp ứng
static void populatebyrow (IloModel model, IloNumVarArray x, IloRangeArray c)
{
IloExpr c1(env);
IloExpr c2(env);
IloExpr c3(env);
IloExpr c4(env);
c.add(c1>=n);
c.add(c2>=n); ...
model.add(c);
}
Tôi muốn thêm các biểu thức để một mảng gọi là c đó sẽ là một đầu vào cho một mô hình trong cplex. Sau đó, sau khi tôi nhận được kết quả từ Cplex, tôi muốn thêm biểu thức c (i) và giải quyết lại ... Điều này cho đến khi tôi nhận được các giá trị tôi muốn ... IloExprArray cũng có thể được sử dụng bằng cách nào đó, nhưng sau đó tôi không biết làm thế nào để thêm những biểu hiện sử dụng phương pháp này:
for(i= 0,...)
{
c7 +=x[i];
}
Tại sao bạn không sử dụng mảng? Nếu các biến tạo thành một tập hợp một mảng (hoặc bộ sưu tập đếm số khác) có vẻ như là giải pháp đúng. – annakata
Không bao giờ cần phải "thay đổi tên biến" trong C++, vì bạn có thể chỉ cần tạo một con trỏ tới bất kỳ biến nào khác mà bạn thích. – Wedge
Tại sao bạn không tạo mã nguồn bằng bộ xử lý văn bản hoặc 'perl'? – mbx