نمایش نتایج 1 تا 20 از 20

نام تاپیک: الگوریتم برگرداندن تعداد اعشار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457

    الگوریتم برگرداندن تعداد اعشار

    سلام.
    الگوریتمی میخوام که یه عدد اعشاری بخونه و تعداد رقم های اعشارش رو برگردونه
    البته مطمئنم که میشه نیم ساعته درسش کرد چون چیز پیچیده ای نباید باشه

    به هر حال منم سعی خودمو می کنم :لبخندساده

  2. #2
    عدد باید رشته ای باشه و اگر float یا همون real باشه، نمیشه

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    نقل قول نوشته شده توسط someCoder
    عدد باید رشته ای باشه و اگر float یا همون real باشه، نمیشه
    میشه یه کمی بیشتر توضیح بدی؟

  4. #4
    ابزار برنامه نویسی؟
    با دلفی اینجوریه

    C:=0;
    while Trunc(F)<F Do
    Begin
    f:=F*10;
    c:=C+1;
    End;
    You never know what you can do until you try

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    ابزار برنامه نویسی؟
    اینو من برای مقلوب یه عدد گفته بودم:
    اونطوری که به ما گفتن دستگاهی که الگوریتم های نوشته شده توسط ما رو میخونه فقط این کارها رو می فهمه:
    چاپ کردن، انتساب، جمع، تفریق، ضرب، تقسیم، توان، جذر گرفتن با هر فرجه ای و خلاصه این کار های خیلی ابتدایی
    مشکل من هم دقیقا همینه
    آخه نگاه کنید
    اگه این ابزار بخواد یه زبون پیشرفته باشه که دیگه الگوریتم نویسی نمیشه، میشه برنامه نویسی.
    من خودم با VB آشنا هستم و فکر نمی کنم ساختن اون با ویژوال بیسیک کار سختی باشه. چون توی زبون هایی که ما باهاشون سروکار داریم(چه وی بی، چه دلفی چه سی و خونواده ی سی و ....) توابع خیلی زیادی هستن که کار ما رو ساده می کنن
    اما مشکل توی الگوریتم نویسی اینه که دستگاهی که الگوریتم ما رو می خونه هیچی حالیش نیس عیر از جمع و ضرب

    با توجه به این مطلب لطفا جواب بدین

  6. #6
    پس فرمت عددت چطوریه؟
    You never know what you can do until you try

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    باورت نیمشه اما تا الان که فکر کنم 4، 5 جلسه ای از یاد گرفتن الگوریتم داره میگذره، تا حالا حتی یه بار هم کلمه ی "فرمت" تو کلاس گفته نشده.

    ما فرض می کنیم که ورودی یه عدد هستش(حالا میاوته با اعشار یا بی اعشار باشه) که به سادگی میشه اعشاد داشتنش رو تعیین کرد:
    تست می کنیم اگه براکت عدد با خودش برابر بود، اونوقت اعشار نداره

  8. #8
    جواب اینجور سوالا گاهی یه کم فلسفی میشه. یه بار یه تاپیک زده شد برای نوشتن تابع قدر مطلق بدون استفاده از دستورات شرطی.... خیلی سرش بحث شد و نتیجه نهایی هم این بود که شدن یا نشدن این کار بسته به دیدگاه شما به دستورات سطح ماشین داره....
    این مساله خاص هم، تا حدودی شبیه مثالیه که گفتم: وقتی دارید از توابع جزءصحیح، ترانک یا نظایر اینها استفاده می کنیم، باید توجه داشته باشیم که خود این توابع به طور داخلی دارن بر اساس فرمت ذخیره عدد در ماشین عمل می کنند. پس دقت کنیم که چه چیزهایی رو داریم مبنا قرار میدیم.

  9. #9
    نقل قول نوشته شده توسط vbapr2005
    میشه یه کمی بیشتر توضیح بدی؟
    اگر عدد بصورت اعشاری ذخیره شده باشه دیگه دقیق نیست و تقریبی ذخیره میشه. بنابراین شمردن ارقام اعشاریش کار درستی نیست. برای همین گفتم عدد باید بصورت رشته ای گرفته بشه. یعنی فرض کنی یه رشته داری میگیری و تعداد کارکتر های بعد از اعشار رو بشمری

  10. #10
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    Sepidar درسته. من هم تا حالا بهش فکر کرده بودم.
    بعضی وقتها هم به این فکر می کنم که چجوری به زبون های برنامه نویسی مفهوم «یا» یا «و» رو می فهمونن تازه اونم با صفر و یک!!!! واقعا آدم پدرش در میاد.

    someCoder از جواب تو هم میشکرم اما:
    اگر عدد بصورت اعشاری ذخیره شده باشه دیگه دقیق نیست و تقریبی ذخیره میشه. بنابراین شمردن ارقام اعشاریش کار درستی نیست.
    1.2 که دیگه تقریبی نیستش. دقیقه
    برای همین گفتم عدد باید بصورت رشته ای گرفته بشه. یعنی فرض کنی یه رشته داری میگیری و تعداد کارکتر های بعد از اعشار رو بشمری
    آخه اونجوری خیلی بدبختی داریم: باید بیایم سرچ کنیم و ممیز رو پیدا کنیم.

  11. #11
    1.2 که دیگه تقریبی نیستش. دقیقه
    بعضیها ممکنه دقیق باشند اما بعضیها هم نیستند. این بخاطر تغییر مبنا هست. مثلا فرض کن 1/3 رو اگر بخوای بصورت اعشاری در مبنای 10 نشون بدی میشه 0.3333333333333 ولی همین عدد در مبنای 3 میشه (0.1). حالا تو هم وقتی یه عدد رو از مبنای 10 میبری تو مبنای 2 ممکنه نشه نشونش داد و بنابراین تقریبی ذخیره میشه.

    آخه اونجوری خیلی بدبختی داریم: باید بیایم سرچ کنیم و ممیز رو پیدا کنیم.
    اگر اسم یه حلقه while رو میذاری بدبختی، ما برنامه نویسها آدمهای بدبختی هستیم! ;) اما در این مورد راه دیگه ای نیست

  12. #12
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    بعضیها ممکنه دقیق باشند اما بعضیها هم نیستند.
    اون چیزی که کاربر باید بنویسه یه عدد اعشاری در مبنای 10 هه. یعنی نمیتونه بنویسه 1/3 (یعنی «یک سوم») و باید دقیقا یه عدد اعشاری بنویسه. اینجوری دیگه عددی که مینویسه دوره ی تناوب نداره حتی اگر هم بنویسسه 0.3333333333333 بالاخره این عدد تموم میشه و دقیقا برابر با یک سوم نیست. پس دیگه میتونیم تعداد اعشار رو بگیم.
    اگر اسم یه حلقه while رو میذاری بدبختی، ما برنامه نویسها آدمهای بدبختی هستیم! ;) اما در این مورد راه دیگه ای نیست
    متاسفانه حلقه ی while ای وجود نداره. تا اونجایی که من میدونم باید از یه حلقه ی الگوریتمی (منظورم حلقه هایی هشست که تو الگوریتم داریم) استفاده کنیم. حالا فرض کن این حلقه رو (که کار آسونی هم هست) ایجاد کنیم. خب، توی حلقه چی میخوای بگی؟ چجوری میخوای تمام کاراکتر ها رو بررسی کنی؟ تا بعد اونا رو با "." مقایسه کنی؟

  13. #13
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    الگوریتم برگردوندن تعداد اعشار یه عدد اینه:

    1 - n را بخوان
    2 - i -> 1 , 0 -> A
    3 - اگر براکت n با n برابر است چاپ کن "صفر" و توقف کن
    4 - n - [n] -> A
    5 - اگر براکت A*(10^i) با خود A*(10^i) برابر است آنگاه چاپ کن i را و توقف کن
    6 - i + 1 -> i و برو به 5

    به همین سادگی!

  14. #14
    این بچه بازی ها را بگذارید کنار. دنبال کار کردن با کتابخانه های بالاتر همانند Directx9c و ...... باشد.
    Thanks.

  15. #15
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    نقل قول نوشته شده توسط HosseinOjvar
    این بچه بازی ها را بگذارید کنار. دنبال کار کردن با کتابخانه های بالاتر همانند Directx9c و ...... باشد.
    Thanks.
    عزیز دل برادر تو فقط نباید از چیزایی که بقیه ساختن استفاده کنی (یعنی حداقل من و اونایی که تو فروم الگوریتم تاپیک میدن نمیخوایم اینجوری باشیم)

  16. #16
    salam
    age mishe yek barname be zabane paskal mikhastam dar morede algoritmhaye fifo , sjf , srt , fcfs , rr , baraye 5 prases ke zamane khedmateshan be tartib 3, 6,4,5,2 astva zamane vorodeshan be tartib 0,2,4,6,8 ast. khaheshan javab bedin

  17. #17
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    نقل قول نوشته شده توسط jahednarimani
    salam
    age mishe yek barname be zabane paskal mikhastam dar morede algoritmhaye fifo , sjf , srt , fcfs , rr , baraye 5 prases ke zamane khedmateshan be tartib 3, 6,4,5,2 astva zamane vorodeshan be tartib 0,2,4,6,8 ast. khaheshan javab bedin
    سلام جاهد
    1) من متاسفانه از الگوریتم های fifo , sjf , srt , fcfs , rr چیزی نمیدونم
    2) لطفا بعدا دیگه فارسی بنویس
    3) لطفا یه سوال جدید رو تو یه تاپیک جدید مطرح کن که عنوان اون تاپیک متناسب با سوالی که توش پرسیدی باشه

  18. #18

    Smile نقل قول: الگوریتم برگرداندن تعداد اعشار

    دوست عزیز ، اینم برنامه شما که تو سی پلاس پلاس نوشتم !!! نکته اش اینه که عدد رو

    بصورت String (رشته ای) در نظر میگیره ، و تا هر چند رقم اعشار جواب میده !!!!

    موفق و پیروز باشید !!!!

    #include <iostream>
    #include <conio>
    typedef char string[100];
    int Tedad_Ashar(string str){
    int j,k=0;
    for(int i=0;str[i]!=NULL;i++){
    if(str[i]=='.')
    {
    j=i+1;
    for(int p=j;str[p]!=NULL;p++)
    k++;
    }
    }//end of for
    return k;
    }
    int main(){
    string num;
    cout<<"Enter Your Number\n\n";
    cin.getline(num,100);
    cout<<"\n";
    cout<<" Tedade Arghame Ashar = "<<Tedad_Ashar(num);
    getch();
    }

  19. #19
    کاربر دائمی آواتار bsng110
    تاریخ عضویت
    آبان 1386
    محل زندگی
    اصفهان
    سن
    36
    پست
    104

    نقل قول: الگوریتم برگرداندن تعداد اعشار

    هوالحکیم. سلام. می شه بگویید خروجی برنامه شما به ازای aaa.bbbb چیست؟ پس به این سادگی هم نیست! یا علی حق نگهدارتون

  20. #20

    Post نقل قول: الگوریتم برگرداندن تعداد اعشار

    نقل قول نوشته شده توسط bsng110 مشاهده تاپیک
    هوالحکیم. سلام. می شه بگویید خروجی برنامه شما به ازای aaa.bbbb چیست؟ پس به این سادگی هم نیست! یا علی حق نگهدارتون
    ====================================

    دوست عزیز ، من فقط زود برنامه واسه دوستمون بصورت آزمایشی نوشتم ، و exception

    های اونو دیگه بررسی نکردم !!! و نمیدونم منظورتون
    پس به این سادگی هم

    نیست!
    چیه ؟؟؟ این برنامه خیلی ساده تر از اون چیزیه که بشه روش وقت گذاشت

    میتونستم با اشاره گرها اینو پیاده کنم ، که خیلی کاملتر میشد ، ولی گفتم وقت نداشتم ،

    در ضمن همیشه برنامه های ما برنامه نویس ها یک اشکالات جزیی در مورد کنترل استثنا ها

    دارند ، دوست عزیز ما مایکروسافت نیستیم که 70- 80 مهندس بیان رو یه پروژه کار کنند ، و یه

    کاری عاری از اشتباه انجام بدهند !!! پس زیاد سخت گیر نباش دوست عزیز !!!!






قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •