نمایش نتایج: از 1 به 7 از 7
Like Tree2 لایک
  • 1 Post By Ahmad110
  • 1 Post By Ahmad110

موضوع: جدا کردن قسمتی از یک رشته

  1. #1
    Junior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    5

    جدا کردن قسمتی از یک رشته

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

    مثلا :
    کد:
     
    int x [] = #b=0##x=1#; int y [];
    چطور میشه فقط b=0# # رو به داخل آرایه y انتقال داد ؟
    ممنون میشم کمکم کنید .

  2. #2
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط alishuk نمایش پست ها
    با سلام به همه دوستان عزیز
    مخواستم بدونم چطور میشه قسمتی از یک رشته که داخل یک آرایه هست رو به داخل یک آرایه دیگر انتقال داد ؟

    مثلا :
    کد:
     
    int x [] = #b=0##x=1#; int y [];
    چطور میشه فقط b=0# # رو به داخل آرایه y انتقال داد ؟
    ممنون میشم کمکم کنید .
    دوست عزیز شما نوشتید رشته اما متغییر رو بصورت انتجر (int) انتخاب کردید . کد شما کلا اشتباهه .
    مورد دوم اینکه باید در نظر داشته باشید یک رشته خودش قابلیت دریافت کاراکترها بصورت آرایه رو داره و شما میتونید هر کاراکتری رو که نیاز دارید از داخل رشته فراخوانی کنید .

  3. #3
    Junior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    5
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    دوست عزیز شما نوشتید رشته اما متغییر رو بصورت انتجر (int) انتخاب کردید . کد شما کلا اشتباهه .
    مورد دوم اینکه باید در نظر داشته باشید یک رشته خودش قابلیت دریافت کاراکترها بصورت آرایه رو داره و شما میتونید هر کاراکتری رو که نیاز دارید از داخل رشته فراخوانی کنید .
    ممنون از راهنماییتون دوست عزیز .
    فقط اگه امکانش هس میشه لطف کنین یه مثال همراه با کد بزنین که بهتر متوجه بشم ؟

  4. #4
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط alishuk نمایش پست ها
    ممنون از راهنماییتون دوست عزیز .
    فقط اگه امکانش هس میشه لطف کنین یه مثال همراه با کد بزنین که بهتر متوجه بشم ؟
    کد:
    #include <Arduino.h>
    
    char *name = "ahmad";
    char result[5] ;
    
    void setup()
    {
        Serial.begin(9600);
        for (uint8_t i = 0; i <= sizeof(result) - 1; i++)
            {
                result[i] = name[i + 2];
            }
        
    }
    void loop()
    {
        Serial.println(result);
        delay(2000);
    }
    لایک کردن

  5. #5
    Junior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    5
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    کد:
    #include <Arduino.h>
    
    char *name = "ahmad";
    char result[5] ;
    
    void setup()
    {
        Serial.begin(9600);
        for (uint8_t i = 0; i <= sizeof(result) - 1; i++)
            {
                result[i] = name[i + 2];
            }
        
    }
    void loop()
    {
        Serial.println(result);
        delay(2000);
    }
    یه دنیا ممنون خیلی کارم جلو افتاد . فقط میشه یه توضیح کوچیک بدین که اون حلقه for چطور عمل میکنه ؟ شرمنده من تازه شرو کردم به برنامه نویسی یکم مبتدی ام .

  6. #6
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط alishuk نمایش پست ها
    یه دنیا ممنون خیلی کارم جلو افتاد . فقط میشه یه توضیح کوچیک بدین که اون حلقه for چطور عمل میکنه ؟ شرمنده من تازه شرو کردم به برنامه نویسی یکم مبتدی ام .
    خیلی ساده هستش ، ببینید ما یک متغیر از نوع پوینتر (pointer) به اسم name داریم که رشته ahmad داخلش قرار داره . حالا چرا نوع متغیر رو از نوع پوینتر انتخاب کردیم ؟ چون تمایل داشتیم رشته ما که شامل 5 کاراکتر هستش به ترتیب و بصورت مستقیم در آدرسی از حافظه رم قرار بگیره یعنی ما میتونستیم متغییر رو بصورت [5]name یا []name هم انتخاب کنیم و از پوینتر استفاده نکنیم .
    رشته ها مجموعه ای از کاراکترها هستن پس ما میتونیم هر وقت که خواستیم هر کاراکتری رو از داخل رشته بخونیم و شکلش هم بصورت زیر هستش :
    فرض کنید ما رشته ای به نام Ahmad رو داخل متغییر name داریم
    کد:
    char *name = "Ahmad" ;
    و میخوایم اولین حرف رشته رو بخونیم . بنابر این به یک متغییر جدید از نوع کاراکتر نیاز داریم که حرف اول رو بخونیم و در اون ذخیره کنیم .
    کد:
    char name1 = name[0];
    حالا اگه name1 رو چاپ کنیم به ما کاراکتر A رو برمیگردونه . حال اگه کاراکترهای بیشتری رو بخوایم بخونیم ، باید اونا رو داخل یک آرایه بزاریم و اگه بخوایم بصورت دستی همه رو صدا بزنیم کد ما خیلی شلوغ و خسته کننده میشه . پس در اینجا از یک حلقه کمک میگیریم که به ترتیب کاراکترها رو بخونه و پشت سر هم در آرایه جدید قرار بده .
    لایک کردن

  7. #7
    Junior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    5
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها

    حالا اگه name1 رو چاپ کنیم به ما کاراکتر A رو برمیگردونه . حال اگه کاراکترهای بیشتری رو بخوایم بخونیم ، باید اونا رو داخل یک آرایه بزاریم و اگه بخوایم بصورت دستی همه رو صدا بزنیم کد ما خیلی شلوغ و خسته کننده میشه . پس در اینجا از یک حلقه کمک میگیریم که به ترتیب کاراکترها رو بخونه و پشت سر هم در آرایه جدید قرار بده .

    یه دنیا ممنون بابت توضیحات . راسی عیدتونم مبارک

مجوز های ارسال و ویرایش

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

SEO by vBSEO