نحوه کار binary search و ارور c2244
سلام دوستان . دارم یه هدر درست میکنم بزای کار با آرایه ها ( قطعا شبیهش و کامل باید باشه ولی برای تمرینه دیگه:n01:) که دیگه برای هر برنامه از اول تابع ننویسم . حالا رسیدم به 2 تا تابع (در اصل متد کلاس arraytools ) که یکیش برای سرچ ترتیبی توی یه ماتریسه اونیکی برای خوندن یه ماتریس . بعد حالا مدام دارم ارور c2244 می گیرم. عاجز شدم که چه جوری یه متد بزنم که یک ماتریس با row و col دلخواه بگیره و از قبل ستونا مشخص نشن.
بخشی از فایل arraytools.h
کد:
template <size_t c>
double linearsearchM(int,int,int[][c]);
متدی که ارور میده
کد:
template <size_t r,size_t c>
double arraytools::linearsearchM(int row, int col , int num,int arr [r][c])
{
for(int i = 0 ; i<row;i++)
for(int j =0;j<col;j++)
if(num==arr[i,j])
return num;
return -1;
}
بهمش زدم . یه بار سعی کردم برای ستون آرگومان col رو بذارم یه بارم با template رفتم نشد که نشد. :| چیکار کنم کلا برای اینکه یه تابع بتونه یه مارتیس با ابعاد دلخواه رو بگیره؟ ( الگوشم یه فایل خودش یه جای دیگه باشه )
یه سوال دیگه . تو کتاب 100 بار باینری سرچو خوندم . آخرشم نفهمیدم طرز کارشو :n27: