PDA

View Full Version : سوال: مشکل در این برنامه(الگوریتم مرتب سازی)



ba_1980
پنج شنبه 02 آبان 1387, 10:19 صبح
من این برنامه را نوشتم که یک الگوریتم مرتب سازی ادغامی است اما نمی دونم چرا با بعضی از داده ها درست کا رنمیکند تو ضمیمه فایل برنامه گذاشتم برنامه با vs2008نوشتم دادهای تو برنامه است درست مرتب نمیشند

SMRAH1
پنج شنبه 02 آبان 1387, 19:01 عصر
سلام

توی فایل Class1 در عبارت:

if (i > h)
{
for (; j <=m && k <= h + m; j++,k++)
s[k] = v[j];
}
شرط اشتباه است و باید به i==h تبدیل شود.

موفق باشید

ba_1980
جمعه 03 آبان 1387, 10:08 صبح
با تشکر از شما
اما با این کار برنامه وقتی اجرا میشه خطا index out range...میده

SMRAH1
جمعه 03 آبان 1387, 10:39 صبح
دقیقش اینه:


if (i == h)
{
for (; j <m; j++,k++)
s[k] = v[j];
}
else
{
for (; i < h; i++, k++)
s[k] = u[i];
}

ba_1980
جمعه 03 آبان 1387, 16:16 عصر
با تشکر از شما
من کد شما را امتحان نکردم ولی با کد زیر مشکل من حل شد
if (i >= h)
{
for (; j <m && k < h + m; j++,k++)
s[k] = v[j];
}