auto و ارایه پویا - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۵۲ نفر آنلاین
۰ عضو و ۱۵۲ مهمان در سایت حاضرند

auto و ارایه پویا

+2 امتیاز
97 بازدید

سلام دوستان

این کد چرا داخل حلقه رو اجرا نمیکنه؟

int *x , n;
cin >> n;
x = new int[sizeof(int)*n];
for(auto &i:x){
        cin >> i;
}

 

سوال شده شهریور 20, 1393  بوسیله ی moh3en (امتیاز 282)   1 2 34
new با malloc فرق می کنه نیازی به ضرب کردن n در sizeof ندارید

1 پاسخ

+3 امتیاز
 
بهترین پاسخ

Range based for بر روی آرایه استاتیک و container ها عمل می کنه.

راه حل اول که آرایه دینامیک را به استاتیک تبدیل کنید.

راه حل دوم یک container بر روی داده ها ایجاد کنید.

	int *x, n;
	
	x = new int[sizeof(int)*n];
	vector<int> x_(x, x + n);
	for (auto &i : x_){
		cin >> i;
	}

 

پاسخ داده شده شهریور 20, 1393 بوسیله ی مصطفی ساتکی (امتیاز 17,035)   17 26 66
...