مشاهده نسخه کامل
: اضافه کردن به ارایه پویا بعد از تعریف
masoud_cpu
23-04-2011, 15:58
سلام .
همان جور که میدانید ارایه پویا داخل پلاس پلاس با دستور
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میشوند .
حالا اگر معلوم نیود این متغیر n چند بود باید چکار کرد .
یعنی راهی هست که ارایه از یک عضو ایجاد بشه و هی مرتب به تعداد ان اضافه کرد ؟
یعنی در اخر مثلا ارایه 100 عنصر داشته باشه ؟
با تشکر
از شدن که میشه آرایه رو داینامیک رو کم و زیاد کرد میتونی از std::vector استفاده کنی
ولی سوالت برام نامفهومه یعنی چی مقدار متغیر n معلوم نبود ؟ پس برنامه نویس اونجا چیکار میکنه ؟
Xilevens
23-04-2011, 19:46
با new كردن ميشه اما مسلما يه n رو اول كار بايد بهش بديد
masoud_cpu
23-04-2011, 23:39
از شدن که میشه آرایه رو داینامیک رو کم و زیاد کرد میتونی از std::vector استفاده کنی
ولی سوالت برام نامفهومه یعنی چی مقدار متغیر n معلوم نبود ؟ پس برنامه نویس اونجا چیکار میکنه ؟
سلام .
بعصی مواقع نیاز هست برنامه هوشمند نوشته بشه . خوب اگر برنامه نویس بدونه چقدر ارایه نیاز داره از ارایه استاتیک استفاده میکنه دیگه
مثال میزنم :
برنامه از یک عدد رو از ورودی دریافت میکنه مثلا 100 حالا تا جایی که عدد بزرگتر از 10 باشه هی اونو تقسیم بر 2 میکنه و آرایه رو یک خانه زیاد میکنه و جواب رو در خانه جدید ارایه میریزه .
امید وارم متوجه منظورم شده باشید .
من منظورت رو از کم و زیاد کردن گرفم وخیلی مواقع پیش میاد که نیاز باشه آرایه رو کم و زیاد کنیم
ولی نحوه توضیح دادنتون خوب نیست و باعث سردرگمی میشه مثلا شما اومدی گفتی
int n;
int *arr = new int[ n ];
میشوند .
حالا اگر معلوم نیود این متغیر n چند بود باید چکار کرد . که این شبهه رو پیش میاره که ما اصلا از اول تعداد خونه ها رو نمیدونیم که آرایه پویا اصلا ماله این کاره
در هر صرت 2 راه داری برای کم و زیاد کردن آرایه
یکی استفاده از std::vector که همه محاسبات لازم رو خودش انجام میده و خیلی تمیز و بدون مشکل اینکارو انجام میده
راه دیگه اینه که شما یه آرایه دومی بسازی و محتویات آرایه اول رو بریزی اونتو
بعد آرایه اولی رو دلیت کنی و با تعداد خونه های جدید از اول بسازیش
حالا از آرایه دومی محتویات رو برمیگردونی به اولی
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.