اطلاعیه

Collapse
No announcement yet.

الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

    سلام خدمت دوستان عزیز
    من یک برنامه دارم که چند تا ورودی جدا از هم مثل :
    a=1
    b=2
    c=0
    d=0
    دارم . لازم دارم این چند عدد جدا از هم رو که هر کدام داخل یک متغییر جدا است به هم متصل کنم یعنی بشود :
    1200
    دستوری در زبان سی نیست که بشه از او استفاده کرد ؟
    خداوندا
    از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
    فراموشش کن
    دکتر علی شریعتی

    #2
    پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

    نوشته اصلی توسط avr1083 نمایش پست ها
    من یک برنامه دارم که چند تا ورودی جدا از هم مثل :
    a=1
    b=2
    c=0
    d=0
    دارم . لازم دارم این چند عدد جدا از هم رو که هر کدام داخل یک متغییر جدا است به هم متصل کنم یعنی بشود :
    1200
    دستوری در زبان سی نیست که بشه از او استفاده کرد ؟
    سلام دوست گرامی
    منم قبلا به دنبال چنین دستوری بودم که مستقیم چنین کاری کنه ولی پیدا نکردم...
    هر عدد رو ضربه در ارزش مکانی خودش کن و با بعدی جمع بزن
    ! Life doesn't get easier , you just get stronger

    دیدگاه


      #3
      پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

      کد:
      (((((a*10)+b)*10)+c)*10)+d
      به شرط اینکه اعداد تک رقمی باشن
      اگر فرمول بالا گنگ هست بگید توضیح بدم
      ولی این روش رو فقط برای اعدادتا 4 رقم توصیه میکنم چون اگر متغیر اصلس از نوع unsigned int تعریف کنید نهایتا تا 65535 رو میپذیره و اعداد بزرگتر خطا میشن
      بهتره برای چسباندن ارقام به هم از توابه رشته استفاده کنید
      کتابخانه string.h

      دیدگاه


        #4
        پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

        نوشته اصلی توسط avr1083 نمایش پست ها
        سلام خدمت دوستان عزیز
        من یک برنامه دارم که چند تا ورودی جدا از هم مثل :
        a=1
        b=2
        c=0
        d=0
        دارم . لازم دارم این چند عدد جدا از هم رو که هر کدام داخل یک متغییر جدا است به هم متصل کنم یعنی بشود :
        1200
        دستوری در زبان سی نیست که بشه از او استفاده کرد ؟
        میتونید هر متغیر رو تبدیل به رشته کنید و آن رشته را به یک رشته بزرگ اصلی بچسبانید
        این روش بدون توجه به تعداد ارقام متغیر های شما همیشه کار میکند

        یا اگر به تابع sprintf دسترسی دارید که کارتان بسیار راحت تر هم میشود ، میتوانید به سادگی در یک سطر این کار را انجام دهید ، مثلا
        char buf[20]
        sprintf(buf,"%d%d%d%d",a,b,c,d)

        یا اگر مطمعن هستید که متغیرهای شما یک رقمی هستند ، میتوانید از تابع sprintf صرف نظر کنید چون حجم زیادی دارد و از راه زیر استفاده کنید

        buf[0]=a+48
        buf[1]=b+48
        buf[2]=c+48
        buf[3]=d+48
        buf[4]=0
        در مثال های بالا از سیمی کالن انتهای هر سطر صرف نظر شد چون در ویرایشگر سایت ، آنها را در ابتدای خط میزند
        به همه سطر ها باید یک سمی کالن - ; - به انتهای آن اضافه شود

        دلیل: ادغام دو پست برای جلوگیری از اسپم

        #فقط یادم رفت بپرسم شما نتیجه را برای نمایش روی ال سی دی میخواهید ، نه ؟
        چون اگر منظورتان به دست آوردن یک عدد صحیح باشد و نه یک رشته از کاراکتر ها ، آنگاه روش جناب saeid_k68 درست است
        جدیدترین ویرایش توسط x935418; ۱۲:۳۵ ۱۳۹۶/۰۶/۰۵.

        دیدگاه


          #5
          پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

          نوشته اصلی توسط x935418 نمایش پست ها
          میتونید هر متغیر رو تبدیل به رشته کنید و آن رشته را به یک رشته بزرگ اصلی بچسبانید
          این روش بدون توجه به تعداد ارقام متغیر های شما همیشه کار میکند

          یا اگر به تابع sprintf دسترسی دارید که کارتان بسیار راحت تر هم میشود ، میتوانید به سادگی در یک سطر این کار را انجام دهید ، مثلا
          char buf[20]
          sprintf(buf,"%d%d%d%d",a,b,c,d)

          یا اگر مطمعن هستید که متغیرهای شما یک رقمی هستند ، میتوانید از تابع sprintf صرف نظر کنید چون حجم زیادی دارد و از راه زیر استفاده کنید

          buf[0]=a+48
          buf[1]=b+48
          buf[2]=c+48
          buf[3]=d+48
          buf[4]=0
          در مثال های بالا از سیمی کالن انتهای هر سطر صرف نظر شد چون در ویرایشگر سایت ، آنها را در ابتدای خط میزند
          به همه سطر ها باید یک سمی کالن - ; - به انتهای آن اضافه شود

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          #فقط یادم رفت بپرسم شما نتیجه را برای نمایش روی ال سی دی میخواهید ، نه ؟
          چون اگر منظورتان به دست آوردن یک عدد صحیح باشد و نه یک رشته از کاراکتر ها ، آنگاه روش جناب saeid_k68 درست است
          لطف دارید
          اگر هدف عملیات ریاضی هست که باید یه عدد صحیح ساخت و میشه از متغیر نوع long هم استفاده کرد. اما اگر هدف مقایسه هست به قول شما میشه ارقام رو تبدیل به رشته کرد و به هم چسبوند و با دستورات کتابخانه string کار های لازم رو روش انجام داد بدون هیچ محدودیتی در طول ارقام اون عدد

          دیدگاه


            #6
            پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

            نوشته اصلی توسط x935418 نمایش پست ها
            میتونید هر متغیر رو تبدیل به رشته کنید و آن رشته را به یک رشته بزرگ اصلی بچسبانید
            این روش بدون توجه به تعداد ارقام متغیر های شما همیشه کار میکند

            یا اگر به تابع sprintf دسترسی دارید که کارتان بسیار راحت تر هم میشود ، میتوانید به سادگی در یک سطر این کار را انجام دهید ، مثلا
            char buf[20]
            sprintf(buf,"%d%d%d%d",a,b,c,d)

            یا اگر مطمعن هستید که متغیرهای شما یک رقمی هستند ، میتوانید از تابع sprintf صرف نظر کنید چون حجم زیادی دارد و از راه زیر استفاده کنید

            buf[0]=a+48
            buf[1]=b+48
            buf[2]=c+48
            buf[3]=d+48
            buf[4]=0
            در مثال های بالا از سیمی کالن انتهای هر سطر صرف نظر شد چون در ویرایشگر سایت ، آنها را در ابتدای خط میزند
            به همه سطر ها باید یک سمی کالن - ; - به انتهای آن اضافه شود

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            #فقط یادم رفت بپرسم شما نتیجه را برای نمایش روی ال سی دی میخواهید ، نه ؟
            چون اگر منظورتان به دست آوردن یک عدد صحیح باشد و نه یک رشته از کاراکتر ها ، آنگاه روش جناب saeid_k68 درست است
            با تشکر از دوستان برای پاسخ های خوبی که دادین
            ولی قرار عملیات ریاضی صورت بگیره
            مثلا این اعداد به هم الصاق شده و در یک عملیات ریاضی استفاده شود
            نمی دونم نتیجه بالا قابل استفاده است یا خیر ؟
            خداوندا
            از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
            فراموشش کن
            دکتر علی شریعتی

            دیدگاه


              #7
              پاسخ : الحاق کردن ( به دنبال هم قرار دادن ) چند عدد

              نوشته اصلی توسط avr1083 نمایش پست ها
              با تشکر از دوستان برای پاسخ های خوبی که دادین
              ولی قرار عملیات ریاضی صورت بگیره
              مثلا این اعداد به هم الصاق شده و در یک عملیات ریاضی استفاده شود
              نمی دونم نتیجه بالا قابل استفاده است یا خیر ؟
              در این صورت روش جناب saeid_k68 را استفاده نمایید

              دیدگاه

              لطفا صبر کنید...
              X