PDA

View Full Version : سوال: مشکل این کد چیه؟؟؟



milad73
جمعه 17 آذر 1391, 00:57 صبح
void mode(int a[],int size)
{
const int e=20;
int b[e]={0};
sort(a,size);

for(int i=0;i<size;i++)
++b[a[i]]; اینجا error میده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

cout<<"\n"<<"Mod is :"<<max(b,e);
cout<<"\n"<<"No_Mod is :"<<min(b,e);
}

بهروز عباسی
جمعه 17 آذر 1391, 05:43 صبح
درود به شما
لطفاً کدهای خودتون رو در تگ مخصوص بذارید تا خوانا باشه.
void mode(int a[],int size)
{
const int e=20;
int b[e]={0};
sort(a,size);

for(int i=0;i<size;i++)
++b[a[i]];

cout<<"\n"<<"Mod is :"<<max(b,e);
cout<<"\n"<<"No_Mod is :"<<min(b,e);
}


شما گفتی توی ابن خط Error میده
++b[a[i]];


من الان روی سیستم ++C ندارم که تست کنم
اما توی این خط یک آرایه 20 عضوی به نام B دارید که بجای اندیسش می خواید مقدار Iام ارایه ای به نام a رو ارسال کنید تااینجا مشکلی نیست اما ++ قبل B فکر کنم مشکل ساز بشه
تاجایی که یادمه این عمل باعث میشد نام متغییر مثل یک اشاره گر عمل کنه و ظاهراً مشکل همین باشه.

موفق باشید

مصطفی ساتکی
جمعه 17 آذر 1391, 13:17 عصر
خط 5 بایستی برای sort ابتدا و انتهای موقعیت هایی از array که بایستی مرتب شود را مشخص کنید sort(a,a+size);
خط 10 و 11 به همین صورت جهت بدست آوردن max در array بایستی ابتدا وانتهای را مشخص کنید در ضمن از تابع max_element بدین صورت استفاده نماید std::max_element(b,b+size)

حامد مصافی
جمعه 17 آذر 1391, 14:09 عصر
این تاپیک به علت داشتن عنوان نا مناسب قفل میشه (به احترام دوستانی که زحمت جواب دادن کشیدن حذفش نمیکنم!)
لطفاْ در تاپیک‌های آتی از عنوان مناسب‌تری استفاده کنید.