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

نام تاپیک: مشکل در چاپ صفر اضافه

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    سرزمین کوروش کبیر
    پست
    411

    مشکل در چاپ صفر اضافه

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


    #include <conio.h>
    #include <stdio.h>
    void main()
    {
    clrscr();
    int a,b,i,j,d;
    int c[5];
    scanf("%d",&a);
    ;check for number bigger than 10
    while (a>=10)
    {
    for (i=1;i<=5;i++)
    {
    b=a%10;
    i[c]=b;
    a=a/10;
    }
    for (j=5;j>=1;j--)
    {
    printf ("%d",j[c]);
    }
    }
    getch();
    }
    آخرین ویرایش به وسیله davood59 : یک شنبه 13 اردیبهشت 1388 در 07:44 صبح

  2. #2

    Wink نقل قول: مشکل در چاپ صفر اضافه

    عزيزمن مشكلت تو همون while هست . دستور while تو بيرون دستور for قرارداره ! بايد اونو داخل for بصورت if بنويسي.يعني تا وقتي عدد كوچكتر ده باشه for رو ادامه بده.

    .بعدشم اون while ربطي به چاپ صفرهات نداره.بايد خودت نحوه چاپ رو كنترل كني تا صفرها پاك نشن مثلا بنويسي :


    while(aray[i]!=0) i++;

    for(j=i;j<=5;j++)
    printf(%d , aray[j]);



    براي اينكه اين دردسرهارو نداشته باشي بهتر بود از اول بجاي آرايه از يه متغير استفاده ميكردي:


    for (i=1;i<=5 && a>=10;i++)
    {
    b=a%10;
    c=c+(b*(10^i));
    a=a/10;
    }


    امتحانشون كن.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    سرزمین کوروش کبیر
    پست
    411

    نقل قول: مشکل در چاپ صفر اضافه

    بايد خودت نحوه چاپ رو كنترل كني تا صفرها پاك نشن مثلا بنويسي :
    دوست عزیزم آقا مرتضی با توجه به عنوانی که نوشتم من که نمیخوام صفرها رو نگه دارم !!
    مشکل من در چاپ صفر اضافه است. و من میخوام اونارو پاک کنم.
    بعنوان مثال ببین: اگه 12345 رو وارد کنم دقیقا به من 12345 میده.(چون دقیقا 5 رقمه)
    ولی اگه 1234 وارد کنم به من 01234 میده. و اگه 123 وارد کنم به من 00123 میده ، من میخوام این صفرها چاپ نشه.

  4. #4

    Smile نقل قول: مشکل در چاپ صفر اضافه

    سلام ، دوست عزيز روشهاي متفاوتي است ، مثلا ميشه يه تابع بازگشتي نوشت كه رقم هاي

    يك عدد رو با فاصله چاپ كنه :
    #include <iostream>
    #include <conio>
    void num_print(int n){
    if(n<10)
    cout<<n<<" ";
    else{
    num_print(n/10);
    cout<<n%10<<" ";
    }
    }
    //========================
    int main(){
    int n;
    cout<<"Enter a Number :\n";
    cin>>n;
    num_print(n);
    getch();
    }


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






  5. #5

    نقل قول: مشکل در چاپ صفر اضافه

    نقل قول نوشته شده توسط davood59 مشاهده تاپیک
    دوست عزیزم آقا مرتضی با توجه به عنوانی که نوشتم من که نمیخوام صفرها رو نگه دارم !!
    مشکل من در چاپ صفر اضافه است. و من میخوام اونارو پاک کنم.
    بعنوان مثال ببین: اگه 12345 رو وارد کنم دقیقا به من 12345 میده.(چون دقیقا 5 رقمه)
    ولی اگه 1234 وارد کنم به من 01234 میده. و اگه 123 وارد کنم به من 00123 میده ، من میخوام این صفرها چاپ نشه.


    داداش منم گفتم با دستور while کاری کنی تا صفرها چاپ نشن.یعنی تا جایی که ابتدای آرایه صفرهست جلو برویم و از آنجا به بعد ، از آن i به بعد ، آرایه رو چاپش کنی.

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

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