ورود

View Full Version : مرتب سازی ادغامی در توربو پاسکال



apr23
دوشنبه 04 دی 1391, 19:33 عصر
با سلام
من میخوام یه برنامه به زبان توربو پاسکال بنویسم که کارش مرتب سازی ادغامی است لطفا در مورد نوشتن کد راهنماییم کنید
خیلی هم سرچ کردم ولی چیزی پیدا نکردم

BORHAN TEC
دوشنبه 04 دی 1391, 20:06 عصر
سلام
پیشنهاد می کنم که سعی کنید پروژه های دانشجویی را خودتان انجام دهید!
ولی من تعجب می کنم که چگونه با جستجو کردن هم به نتیجه نرسیده اید. این موضوعات آنقدر عام است که کدها و توضیحات مربوط به آن در کف اینترنت ریخته شده است. مثلاً این صفحه:
http://fa.wikipedia.org/wiki/%D9%85%D8%B1%D8%AA%D8%A8%E2%80%8C%D8%B3%D8%A7%D8%B 2%DB%8C_%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%DB%8C
موفق باشید...

apr23
دوشنبه 04 دی 1391, 20:15 عصر
سلام
پیشنهاد می کنم که سعی کنید پروژه های دانشجویی را خودتان انجام دهید!
ولی من تعجب می کنم که چگونه با جستجو کردن هم به نتیجه نرسیده اید. این موضوعات آنقدر عام است که کدها و توضیحات مربوط به آن در کف اینترنت ریخته شده است. مثلاً این صفحه:
http://fa.wikipedia.org/wiki/%D9%85%D8%B1%D8%AA%D8%A8%E2%80%8C%D8%B3%D8%A7%D8%B 2%DB%8C_%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%DB%8C
موفق باشید...

شما منظورم را متوجه نشدید من فقط یه راهنمایی در مورد نوشتن کد در توربو پاسکال میخواستم (مفهوم MERGE SORT رو میدونم فقط نمیتونم توی توربو پاسکال پیاده سازی کنم)
این صفحه رو هم قبلا دیده بودم

یوسف زالی
دوشنبه 04 دی 1391, 20:42 عصر
خب چه راهنمایی ای ؟
مثلا چی بگیم؟
شما شروع کن برنامه رو بنویس بچه ها کمکت می کنن.
قرار نیست که بگیم اول Begin بذار بعد آرایه بگیر..

apr23
دوشنبه 04 دی 1391, 21:25 عصر
حق با شماست من باید کد رو مینوشتم
این یه شبه کد مرتب سازی ادغامی در پاسکال که خودم نوشتم
حالا شما بگید مشکل کجاست؟
var x:array[1..length] of integer;
procedure sort(var a,b:integer);
var mid:integer;
begin
if a<b then
begin
mid:=(a+b) div 2;
sort(a,mid);
sort(mid+1,b);
sort(a,mid,b);
end;
end;

apr23
سه شنبه 05 دی 1391, 10:13 صبح
کسی نیست جواب بده
ساختار کلی کد درسته؟

یوسف زالی
سه شنبه 05 دی 1391, 23:23 عصر
خوب فکر می کنم مفهوم Merge Sort رو نمی دونید.
یا من فراموشم شده!
به هر حال اونچه که من یادمه چسباندن دو لیست سورت شده به صورت سورت شده بود.
برنامه شما داره ترکیبی از کوئیک سورت و مرج رو همزمان یه کاراییش می کنه که نمی دونم چیه:لبخند:
در برنامه سورت ادغامی لازمه روی هر دو لیست پیمایش خطی انجام بشه با دو تا اشاره گر موقعیت جداگانه که بسته به اینکه عدد جاری اونها چه وضعی داره تصمیم می گیرن که جلوتر برن یا نه.
اگر هم یکی به انتهای لیست رسید اون یکی ادامه لیستش رو در ادامه لیست خروجی می نویسه.
یک بار دیگه مطالب درسیتون رو بخونید.
یا اگر کد خاصی از زبان دیگه ای دارید که سعی به تبدیلش دارید با تریس کردنش در زبان مبدا خوب سر از کارش در بیارید.
موفق باشید.