تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 19

نام تاپيک: الگوريتم هافمن

  1. #1
    اگه نباشه جاش خالی می مونه ameneh's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    کرج
    پست ها
    205

    پيش فرض الگوريتم هافمن

    سلام به همه دوستان
    ببخشيد من مي خواستم الگوريتم هافمن رو پياده كنم و از اين طريق عمل فشرده سازي رو انجام بدم.اما متاسفانه بعد از اين كه كد معادل هر حرفي رو (مثلا براي فشرده سازي فايل متني ) بدست آوردم ، كدهاي 3 بيتي يا 5 بيتي و ... ميشه!!!
    مثلا اگه بخوام اسم خودم رو كد كنم مثلا اگه
    a=10
    m=0001
    e=11
    n=00000
    h=00001
    b=0110
    r=001
    z=0111
    g=0100
    حالا تك تك اينا رو چطور وارد فايل كنم(چطوري تك تك بيتها رو مديريت مي شه كرد)

    من نميدونم چه جوري مي شه با تك تك بيتها تو c كار كنم؟؟؟اگه كسي مي دونه كمكم كنه!!!!ممنونم بازم!!!

  2. #2
    اگه نباشه جاش خالی می مونه mehdicracker's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    in air
    پست ها
    331

    پيش فرض

    به نظر می یاد که همه ی عددهارو می شه به 5 بیت تبدیل کرد
    پس باید شما خودتون بقیه ی بیت ها رو یه عددی بزارید تا برای عمل فشرده سازی با مشکل مواجه نشید
    و البته برای عمل decompress
    مثلا می توانید حرف a رو به 10222 تبدیل کنید
    یا بین هر حرف یه حرف جدا کننده بزارید مثل ( , ) که در این حالت برای خارج کردن فایل از فشرده سازی
    باید بیت هایی رو که بین این علامت ها است جدا کنید و بعد تبدیلش کنید به حرف صحیح

    برای کار با بیت ها هم می تونید فایل رو در حافظه load کنید و به استفاده از ادرس اولین حافظه
    مقادیر بیت ها رو بخوانید و ....

  3. #3
    اگه نباشه جاش خالی می مونه ameneh's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    کرج
    پست ها
    205

    1

    سلام
    ممنون دوست عزيز
    اينجا چند تا چيز هست
    اول اينكه نمي شه به اين كدها چيزي اضافه كرد ،چون عمل فشرده سازي هست و بايد اين كاراكتر ها كه 8 بيت مي گيره كمترش كنيم،مثلا حرف a كه به طور معمول 8 بيت مي گيره با استفاده از الگوريتم بيت هاش كم شده و 2 بيت شده؛حالا اگه باز بخوام 3 تا بيت خودم اضافه كنم كه ديگه اصلا هدف اصلي كه فشرده سازي هست از بين رفته..
    از طرفي اگه فايل رو تو حافظه load كنم و آدرس شروع رو داشته باشم مي تونم 8 تا 8 تا رو بيت ها جلو برم(يا 16 تا 16 تاو ...) حالا چجوري بگم مثلا بيت سوم رو 1 كن ؟مشكلم اينه؟؟؟؟؟؟؟
    بازم ممنونم از كمكت...

  4. #4
    اگه نباشه جاش خالی می مونه ameneh's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    کرج
    پست ها
    205

    پيش فرض

    بي انصافا يكي جواب ما رو بده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    Last edited by ameneh; 27-10-2007 at 12:49.

  5. #5
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    سلام. برای کار با بیت ها باید از عمگر های بیتی | & ^ و عملگر های شیفت دادن >> و << استفاده کنی.ساختار های بیتی و union هم میتونه بیشتر کمک کنه.توضیحش طولانیه میتونی به یه کتاب آموزش C مراجعه کنی.ولی برای مثال که ببینی کلا چطوری هست, اینجا یه char تعریف میکنیم 65 رو میریزیم توش و با استفاده کردن از عملگر | , بیت سوم رو 1 میکنیم و نتیجه رو توی یک char دیگه میریزیم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by m3hrz4d; 28-10-2007 at 02:19.

  6. #6
    اگه نباشه جاش خالی می مونه ameneh's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    کرج
    پست ها
    205

    پيش فرض

    مرسي ،خيلي لطف كرديد.

  7. #7
    در آغاز فعالیت
    تاريخ عضويت
    Dec 2007
    پست ها
    4

    پيش فرض

    می شه کد هافمنت رو پس از تکمیل در سایت بگذاری؟؟؟
    واقعا بهش نیازمندم :-)
    خواهش می کنم این لطف رو بکن، یا به این میل بفرست
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  8. #8
    آخر فروم باز Mehran NZ's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    2,208

    پيش فرض

    دوست عزيز مي تونم از شما بپرسم اين الگوريتمي كه گفتيد رو در چه كتابي مي شه در موردش خوند؟
    منظورم اينه كه مثلا درساختمان هاي داده هست يا چيز ديگه اي؟
    راستش به اين دليل مي پرسم كه گفتيد ميخوايد برنامه ها رو فشرده سازي كنيد منم خيلي دوست
    دارم در اين مورد اطلاعاتي داشته باشم و مثلا اينكه برنامه اي مثل winrar چطور نوشته مي شه

  9. #9
    اگه نباشه جاش خالی می مونه ameneh's Avatar
    تاريخ عضويت
    Sep 2006
    محل سكونت
    کرج
    پست ها
    205

    پيش فرض

    سلام به همه دوستان
    من شرمنده همتونم.ببخشید دیر جواب دادم.یه مدت نت نیومدم.
    در ارتباط با نیوشا خانم باید بگو چشم رو چشم.حتما کامل کردم بهتون میدم.
    اما در جواب چیزی که آقا مهران فرمودند:
    این یکی از مسایل داخل کتاب طراحی اگوریتم هست. این سوال رو استادمون برای درس محیط های چند رسانه ای مربوط به فشرده سازی مطرح کرد.اگه الگوریتمشو بدونید میمونه پیاده سازی.

  10. #10
    اگه نباشه جاش خالی می مونه no name's Avatar
    تاريخ عضويت
    Mar 2006
    محل سكونت
    دیروز بعد از ظهر
    پست ها
    213

    پيش فرض

    سلام
    همون طور که بچه ها گفتند با عملگر های | و & و >> و << می تونید استفاده کنید
    توضیح به صورت کاملش در کتاب پاسکال کافمن من دیدم

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •