PDA

View Full Version : سوال: سوال در رابطه با شیفت دادن



storm_saeed
جمعه 27 مرداد 1391, 13:01 عصر
درود
میخواستم بدونم اینکار چه جور انجام میشود
مثلا لیستی از اعداد داریم مثلا 2-34-5-6 حالا میخوام مثلا 5 حذف شه و بقیه یدونه بیان عقب
ممنون میشم کمکم کنید

tdkhakpur
جمعه 27 مرداد 1391, 13:36 عصر
از حلقه هم میشه استفاده کرد
اما بهتره از این روش استفاده کنی داخل کد زیر سومین عضو یا 2دومین اندیس حذف میشه.
اگه MaxArr = 4 باشه
int arr[MaxArr]={6,5,34,2};
int n=2;
if (MaxArr!=0 && n<MaxArr)
memcpy(&arr[n], &arr[n+1], (MaxArr-1-n)*sizeof(int));

در ضمن با هر بار اجرا MaxArr رو در نظر بگیر چون مقدار عددهای موجود شما با هر بار حذف شدن باید یه دونه کم بشه

mojtaba5
شنبه 28 مرداد 1391, 10:56 صبح
چه جوری میتونم کلاسی تعریف کنم که آرایه رو شیفت بده؟