من این برنامه را نوشتم که یک الگوریتم مرتب سازی ادغامی است اما نمی دونم چرا با بعضی از داده ها درست کا رنمیکند تو ضمیمه فایل برنامه گذاشتم برنامه با vs2008نوشتم دادهای تو برنامه است درست مرتب نمیشند
من این برنامه را نوشتم که یک الگوریتم مرتب سازی ادغامی است اما نمی دونم چرا با بعضی از داده ها درست کا رنمیکند تو ضمیمه فایل برنامه گذاشتم برنامه با vs2008نوشتم دادهای تو برنامه است درست مرتب نمیشند
سلام
توی فایل Class1 در عبارت:
if (i > h)
{
for (; j <=m && k <= h + m; j++,k++)
s[k] = v[j];
}
شرط اشتباه است و باید به i==h تبدیل شود.
موفق باشید
با تشکر از شما
اما با این کار برنامه وقتی اجرا میشه خطا index out range...میده
دقیقش اینه:
if (i == h)
{
for (; j <m; j++,k++)
s[k] = v[j];
}
else
{
for (; i < h; i++, k++)
s[k] = u[i];
}
با تشکر از شما
من کد شما را امتحان نکردم ولی با کد زیر مشکل من حل شد
if (i >= h)
{
for (; j <m && k < h + m; j++,k++)
s[k] = v[j];
}