PDA

View Full Version : سوال: استفاده از آرایه پویا



Mr_Shadow
جمعه 26 دی 1393, 16:11 عصر
سلام
من یه برنامه ساده نوشتم که توش از آرایه پویا استفاده کردم.
برنامه تعدادی عدد از کاربر میگیره و بعد ذخیره میکنه توی آرایه و بعد مقادیر رو از آخر ب اول نشون میده.
مشکلم اینجاست ک وقتی برنامه مقادیر رو شروع ب چاپ کردن میکنه یکی از مقادیر عدد دلخواه نشون میده میکنه!!
مثلا من وارد میکنم 1 2 3 4 5 و برنامه باید نشون بده 5 4 3 2 1!!ولی مثلا نشون میده 5465 4 3 2 1.
ممنون میشم کمکم کنید.




int main()
{


int *x,y,i,j;
cout<<"tedad dade haye khod ra vared konid :\n";
cin>>y;
x=new int[y];


cout<<"maghadire khod ra vared konid :\n";
for(i=0;i<y;i++)
cin>>*(x+i);
for(j=i;i>=0;i--)
cout<<*(x+i)<<"\n";
delete[]x;
return 0;
}

rahnema1
جمعه 26 دی 1393, 21:00 عصر
for (int i = 0; i < y; i++)
cin >> x[i];
for (int i = y - 1; i >= 0; i++)
cout << x[i];

erfan2023
شنبه 27 دی 1393, 12:33 عصر
اینطوری که شما میخواستید بنویسید ، فکر کنم منظورتون کد زیر بوده . دلیل چاپ اون مقدار اضافی هم Buffer Over-Run هستش . یعنی از حدودی که براش تعریف شده خارج میشه


cout << "maghadire khod ra vared konid :\n";
for (i = 0; i<y; i++)
cin >> x[i];
for (j = i; i>=1; i--)
cout << x[i-1] << "\n";
delete x;