زمان کنونی: ۰۹ اردیبهشت ۱۴۰۳, ۱۱:۱۷ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

کمک در نوشتن یک الگوریتم ساده از CLRS به زبان c

ارسال:
  

alidodar1 پرسیده:

کمک در نوشتن یک الگوریتم ساده از CLRS به زبان c

سلام دوستان
من هرچی تلاش میکنم نمیتونم صورت این الگوریتم رو برای زبان C بنویسم...
این یک تمرین بر پایه تمرینات CLRS و الگوریتم هست
شما میتونید کد رو بنویسید:


((میخواهیم یک ماشین بستنی فروشی را تحت کنترل کامپیوتر بسازیم.
طرز کار : مشتری به ماشین بستنی فروشی مراجعه کرده و تعدد بستی های درخواتی را وارد میکند.
ماشین با توجه به قیمت واحد بستنی با پیغامی مناسب قیمت یک عدد بستنی و مجموع پولی که مشتری باید پرداخت کند ،را اعلام میکند.
مشتری مبلغ پرداختی را با سکه های ۵۰۰۰ ، ۲۰۰۰ ، ۲۵۰ ، ۵۰ و ۱ ریالی پرداخت میکند.
درصورتی که مشتری مبلغ کمتری نسبت به بستنی های درخواستی پرداخت کرده باشد ، ماشین بطور خودکار از میزان سفارش کم کرده و اینکار را با پیغام مناسب به اطلاع مشتری میرساند.
ولی درصورتی که مبلغ پرداختی مشتری بیشتر از مبلغ میزان سفارش باشد ، ماشین مابقی پول مشتری را با حداقل سکه به او باز میگرداند و این عملیات تا زمانی که میزان سفارش صفر یا منفی وارد شود ،ادامه میابد.
مبلغ ۰ به عنوان پایان ورود سکه میباشد.))

۰
ارسال:
  

ف.ش پاسخ داده:

کمک در نوشتن یک الگوریتم ساده از CLRS

راهی که به ذهن من میرسه : مقدار سکه ها رو به ترتیب نزولی توی آرایه بگذارید باقیمانده رو با مقدار خانه اول مقایسه کنید اگر کوچکتر بود به اندازه مقدار آرایه از باقیمانده کم کنید دوباره مقایسه کنید اگر باقیمانده بزرگتر از خانه اول بود باز به اندازه خانه اول کم کنید و اگر بزرگتر بود به خانه بعدی آرایه بروید.
میتوانید یک آرایه دیگر برای مشخص کردن سکه های استفاده شده بکار برید هربار که به اندازه مقدار خانه i ام آرایه A از باقیمانده کم می کنید یک واحد به محتوای خانه i ام آرایه B اضافه کنید.
وقتی باقیمانده صفر شد مقدار خانه های آرایه B نشان دهنده تعداد سکه هایی است که باید برگردانده شود.
مثلا اگر B[1] =2 بود یعنی ۲ عدد از پرارزشترین سکه (۵۰۰۰ تومانی) باید داده شود.

بهتره واسه خودتون مثال بزنید تا بتونید سوال رو حل کنید.

۰
ارسال:
  

naderx پاسخ داده:

RE: کمک در نوشتن یک الگوریتم ساده از CLRS

سلام
برنامه خیلی سختی نیست ولی چند تا سوال پیش میاد، اولآ بفرمائید که فرمت گرفتن سکه ها چجوریه ؟
به طور مثال : "اگر هر بستنی ۵۰۰ تومان باشه و طرف ۱۰ تا سفارش داده باشه. برنامه بهش میگه که ۵۰۰۰ پرداخت کن و طرف با وارد کردن این سری از اعداد ۲۵۰،۲۰۰۰،۲۰۰۰،۲۵۰،۲۵۰،۵۰،۵۰،۵۰،۵۰،۵۰،۰ به ماشین سکه میدهد ؟ "
تو مثال که من زدم بعد از اتمام سکه ها عدد صفر آمده که به برنامه حالی کنه که سکه ها تموم شد.
آیا منظور شما هم همین بود ؟
قالب گرفتن اطلاعات به مشتری چطوری باید باشه ؟
یه مثال عددی و جامع بزن من سه سوت برنامشو برات مینویسم ولی تا برای خودم مفهوم نباشه نمیشه برنامه رو نوشت.

ارسال:
  

ف.ش پاسخ داده:

RE: کمک در نوشتن یک الگوریتم ساده از CLRS

(۱۸ خرداد ۱۳۹۱ ۰۹:۱۲ ق.ظ)naderx نوشته شده توسط:  سلام
برنامه خیلی سختی نیست ولی چند تا سوال پیش میاد، اولآ بفرمائید که فرمت گرفتن سکه ها چجوریه ؟
به طور مثال : "اگر هر بستنی ۵۰۰ تومان باشه و طرف ۱۰ تا سفارش داده باشه. برنامه بهش میگه که ۵۰۰۰ پرداخت کن و طرف با وارد کردن این سری از اعداد ۲۵۰،۲۰۰۰،۲۰۰۰،۲۵۰،۲۵۰،۵۰،۵۰،۵۰،۵۰،۵۰،۰ به ماشین سکه میدهد ؟ "
خوب مشتری که سکه ۵۰۰۰ تومانی میده.

مشکل وقتیه که مثلا ۴۱۰۰ تومان قیمت بستنی ها بشه و مشتری ۵۰۰۰ تومان بده اونوقت ماشین باید ابتدا تعدادی ۲۵۰ تومانی بده (۷ تا) بعد هم ۳ تا ۵۰ تومانی.

چون سکه ۱ ریالی داریم همیشه میتونیم باقیمانده پول مشتری رو کامل پس بدیم. اما باید تعداد سکه ها حداقل باشه پس از الگوریتم حریصانه استفاده میکنیم.(مساله coin changing)

یکمی این شبه کد رو تغییر بدین فکر کنم شبه کدی که میخواین بدست بیاد :

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


این مسئله همون مسئله خرد کردن سکه ها وقتی w1=1 (ارزش کم ارزشترین سکه) و همچنین مسئله کوله پشتی وقتی w1=1 (وزن سبکترین کالا) است.
یافتن تمامی ارسال‌های این کاربر



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  کدام زبان برای هوش مصنوعی بهتر است؟ فرق بین زبان های هوش مصنوعی چیست؟ azam2075 ۳ ۵,۵۳۷ ۱۴ مهر ۱۴۰۰ ۰۷:۲۱ ب.ظ
آخرین ارسال: علیصا
  در نوشتن چند جمله انگلیسی نیاز به کمک دارم fa_karoon ۰ ۱,۴۶۹ ۰۳ شهریور ۱۴۰۰ ۰۱:۰۹ ب.ظ
آخرین ارسال: fa_karoon
  نوشتن مقاله به صورت گروهی osho ۰ ۱,۸۱۸ ۱۶ آبان ۱۳۹۹ ۱۱:۵۵ ق.ظ
آخرین ارسال: osho
  [دانلود] کتاب clrs همراه با حل تمرین و پیوست فارسی mehrdad66 ۳۸ ۸۳,۰۹۷ ۲۴ خرداد ۱۳۹۹ ۰۴:۲۲ ب.ظ
آخرین ارسال: Nargeshassani
  معرفی زبان برنامه نویسی کریستال : Crystal elecomco ۰ ۲,۰۷۸ ۰۲ خرداد ۱۳۹۹ ۰۲:۵۵ ب.ظ
آخرین ارسال: elecomco
  تعداد روش های نوشتن عدد n ss311 ۲ ۳,۰۲۹ ۱۳ بهمن ۱۳۹۸ ۰۵:۲۷ ب.ظ
آخرین ارسال: ss311
Sad راهنمایی برای نوشتن پایان نامه کمک!!!!!!! Sarabeh ۱ ۲,۴۷۵ ۱۴ آذر ۱۳۹۸ ۰۲:۳۳ ق.ظ
آخرین ارسال: sirvan.t
  دانلود CLRS ویرایش سوم m450ud ۱۶ ۱۸,۸۵۰ ۲۱ مهر ۱۳۹۸ ۰۹:۳۶ ب.ظ
آخرین ارسال: etrok
  ساختمان داده پوران، فصل اول، راهنمایی برای حل یک مثال ساده marvelous ۲ ۲,۶۷۰ ۲۲ مرداد ۱۳۹۸ ۰۳:۳۰ ب.ظ
آخرین ارسال: marvelous
  دانلود کتاب clrs ویرایش سوم چاپ پنجم jazana ۷ ۹,۰۹۹ ۳۰ مهر ۱۳۹۷ ۰۹:۲۷ ب.ظ
آخرین ارسال: faraaz_mb

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close