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

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




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 20 از 20

نام تاپيک: چه جوری می شه تو زبان ++c متغیرس مثلا 1000 رقمی تعریف کرد

  1. #11
    اگه نباشه جاش خالی می مونه mehdidll's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    لينوكس
    پست ها
    348

    پيش فرض

    سلام دوستان
    اه امکانش هست سورس جمع و ضرب دو عدد 20 رقمی رو بزارین
    بهش خیلی نیاز دارم
    ممنونم.

  2. #12
    Banned
    تاريخ عضويت
    Dec 2006
    پست ها
    4

    پيش فرض

    سلام.خوبي.
    اگه اون جواب 10000 رقمي رو بدست اوردي.
    يه كپي به ميلم بفرست.چون خيلي احتياج دارم.
    ممنون
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

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

    پيش فرض تعريف آرايه

    سلام
    اگر دانشجوي كامپيوتر باشيد به ياد داري كه در طراحي الگوريتم ها براي اعداد بسيار بزرگي كه در موقع جمع كردن سرريز مي شوند و يا اعدادي كه بسيار بزرگند متغيير هايي تعريف مي كرديم واعداد شكسته شده را در آن مي ريختيم و اين كار شكستن را انقدر ادامه مي داديم كه ديگر نيازي به شكستن نباشد وبعد مرتبا انها را باهم جمع مي كنيم و در يكي از متغيير ها مي ريزيم تا نهايتا عدد نهايي ساخته شود

    اميدوارم فهميده باشيد

  4. #14
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    21

    پيش فرض

    سلام به همگي
    اين سوال رو من نوشتم البته ضربشو و با آرايه ولي متاسفانه تا 20 رقم

  5. #15
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    21

    پيش فرض

    #include<iostream.h>
    #include<conio.h>
    void main(void)
    {
    l:
    int a[10],b[10],c[20],i,j,k,temp=0,bagi=0,temp1=0,sefr=0,key=0;
    char ch;
    cout<<"----------------------------------START------------------------------------------";
    cout<<endl;
    for (i=0;i<10;i++)
    {
    cout<<"Please Enter The Frist Number "<<i<<"=";
    cin>>a[i];
    }
    for (i=0;i<10;i++)
    {
    cout<<"Please Enter The Second Number "<<i<<"=";
    cin>>b[i];
    }
    for (i=0;i<20;i++)
    c[i]=0;

    for (i=9;i>=0;--i)
    {
    temp=0;
    bagi=0;
    temp1=0;
    for (j=9;j>=0;--j)
    {
    k=b[i]*a[j]+temp;
    temp=k / 10;
    bagi=k % 10;
    c[(j-sefr)+10]=c[(j-sefr)+10]+bagi+temp1;
    temp1=c[(j-sefr+10)]/10;
    c[(j-sefr)+10]=c[(j-sefr)+10]%10;
    if (j==0)
    {
    c[(j-sefr)+9]=temp;
    c[(j-sefr)+9]=c[(j-sefr)+9]+temp1;
    }

    }
    ++sefr;
    }
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<"Result: ";
    for (i=0;i<10;i++)
    {
    cout<<a[i];
    }
    cout<<" * ";
    for (i=0;i<10;i++)
    {
    cout<<b[i];
    }
    cout<<" = ";
    for (i=0;i<20;i++)
    {
    cout<<c[i];
    }
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<"Press 1 & Enter To Cuntinue Press Any Key & Enter For Exit...";
    cin>>key;
    if (key==1)
    goto l;
    }

  6. #16
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    21

    پيش فرض

    يه الگوريتم ساده
    كه ابتدا دو تا عدد ده رقمي رو مي گيره وداخل آرايه قرار مي ده و سپس از آخر به همان روش ضرب ابتدايي با هم ضرب مي كنه و اگر عدد بزرگتر از 10 شد با قي مونده اونو حساب كرده و سپس خارج قسمت رو بدست آورده و به خانه ي بعدي اضافه مي كنه به همين سادگي
    عمرا اگه فهميده باشي

  7. #17
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    سلام
    واسه این کار از پشته پیوندی باید استفاده کنی (البته همونطور که دوستان هم گفتن از آرایه میتونی استفاده کنی ولی این کار بهیچ وجه توصیه نمیشه و از لحاظ مهندسی نرم افزار هم یک کار اشتباهه)

    برای شروع کافیه 2 تا پشته ایجاد کنی (اعضای پشته byte ) توابع حذف و اضافه node رو بنویسی (بصورت پیوندی) و در نهایت در زمان اجرا با فشردن هر کاراکتر یکی به پشته ات اضافه کنه(در صورتی که ورودی قابل قبول باشه) و با فشرن هربار کلید بک اسپیس (کاراکتر 8 ) یک گره حذف کنه ، در نهایت یه پشته پر داری ولی یه مشکل هست اگه بخوای نمایشش بدی رشته رو معکوس نمایش میده اگه نخوای خیلی وقتت گرفته بشه کافیه STACK رو معکوس کنی و نمایشش بدی ولی اگه هدفت جمع یا تفریقه پیش از اینکه پشته رو معکوس کنی عمل جمع یا تفریق رو به راحتی میتونی انجام بدی و در نهایت پشته رو معکوس کنی .

    چند ترم پیش یه برنامه عدد 60 رقمی واسه یکی از بچه ها نوشته بودم اگه پیداش کردم واست میزارم کمکت میکنه

  8. #18
    پروفشنال sia0368's Avatar
    تاريخ عضويت
    Jun 2006
    محل سكونت
    تهران پاریس
    پست ها
    997

    پيش فرض

    کسی الگوریتم تفریق را با استفاده از رقم نقلی و آرایه بلده؟
    من یه برنامه ای نوشتم ولی درست کار نمیکنه؟اگه با تصحیح همین برنامه الگوریتم تفریق درست کار کنه ممنون میشم چون میتونم راحت بفهمم چی به چیه؟
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
    main()
    {
    char num1[50],num2[50],javab[50],help[50];
    int i,j,carry=0,r,x11,x22,k=0,sw=0,sz=1;
    clrscr();
    gets(num1);
    gets(num2);
    if (strlen(num1)<strlen(num2))
    {
    strcpy(help,num1);
    strcpy(num1,num2);
    strcpy(num2,help);
    sz=-1;
    }
    else if (strlen(num1)==strlen(num2))
    {
    if (num1[0]<num2[0])
    {
    strcpy(help,num1);
    strcpy(num1,num2);
    strcpy(num2,help);
    sz=-1;
    }
    }
    i=strlen(num1)-1;
    j=strlen(num2)-1;
    for(;i>=0||j>=0;i--,j--)
    {
    if(i>=0)
    {
    x11=num1[i]-48;
    if(sw==1)
    {
    x11=num1[i]-49;
    sw=0;
    }
    }
    else
    x11=0;
    if(j>=0)
    x22=num2[i]-48;
    else
    x22=0;
    if (x11<x22)
    {
    x11=x11+10;
    r=x11-x22+carry;
    sw=1;
    }
    else
    r=x11-x22+carry;
    javab[k++]=(r%10)+48;
    carry=r/10;
    }//end for
    javab[k]='\0';
    strrev(javab);
    if (sz==-1)
    printf ("result is:-%s",javab);
    else
    printf("result is:%s",javab);
    getch();
    }//end main

  9. #19
    پروفشنال mahdi7s's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    هر جایی می تونه باشه
    پست ها
    757

    پيش فرض

    كد زيرو ببين
    مشكلي داشتي بپرس
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  10. #20
    پروفشنال sia0368's Avatar
    تاريخ عضويت
    Jun 2006
    محل سكونت
    تهران پاریس
    پست ها
    997

    پيش فرض

    بالاخره برنامه تفریق دو رشته رو تقریبا کامل نوشتم
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
    main()
    {
    char num1[50],num2[50],javab[50],help[50];
    int i,j,carry=0,r,x11,x22,sw=0,k=0,sz=1;
    clrscr();
    gets(num1);
    gets(num2);
    if (strlen(num1)<strlen(num2))
    {
    strcpy(help,num1);
    strcpy(num1,num2);
    strcpy(num2,help);
    sz=-1;
    }
    i=strlen(num1)-1;
    j=strlen(num2)-1;
    for(;i>=0||j>=0;i--,j--)
    {
    if(i>=0)
    x11=num1[i]-48;
    else
    x11=0;
    if(j>=0)
    x22=num2[j]-48;
    else
    x22=0;
    if (sw==1)
    if (x11<x22)
    {
    x11=x11+9;
    r=x11-x22+carry;
    }
    else if (x11>x22)
    {
    x11=x11-1;
    r=x11-x22+carry;
    sw=0;
    }
    else //x11==x22
    {
    x11=x11+9;
    r=x11-x22+carry;
    }
    if (sw==0)
    if (x11<x22)
    {
    x11=x11+10;
    r=x11-x22+carry;
    sw=1;
    }
    else //x11>x22
    r=x11-x22+carry;
    javab[k++]=(r%10)+48;
    carry=r/10;
    }//end for
    javab[k]='\0';
    strrev(javab);
    if (sz==-1)
    printf ("-%s",javab);
    else
    printf("%s",javab);
    getch();
    }//end main

صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

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

User Tag List

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

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