اطلاعیه

Collapse
No announcement yet.

راهنمایی درباره آرایه ها

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

    راهنمایی درباره آرایه ها

    سلام دوستان

    من این یه قسمت آرایه رو متوجه نمیشم.. مگه ستون 0 هم داریم؟؟ و اینکه تو اینجا مقدار اسکی توی کجا قرار میگیره؟؟

    کد:
     data[1][0] = 'V';
    	data[1][1] = NULL;
    واینکه بعد از این آرایه ها که بالا توضیحش دادم حرف A با چی داره مقایسه میشه تو دستور زیر

    کد:
    while(strncmp(data[1],"A",1) != 0)

    #2
    پاسخ : راهنمایی درباره آرایه ها

    سلام.
    راستش دقیق متوجه سوالتون نشدم.
    به نظر میاد data یک آرایه از رشته ها باشه.

    کد:
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    	char data[][10]={"string1", "string1", "string1"};
    	
    	for(int i=0; i<3; i++)
    	{
    		cout << data[i] << "\n";
    	}
    	cout <<"---------------------\n";
    	data[0][6] = '1';
    	data[1][6] = '2';
    	data[2][6] = '3';
    	for(int i=0; i<3; i++)
    	{
    		cout << data[i] << "\n";
    	}
    	cin.get();
    }
    الان مثلا data[0][6] = '1'; میاد کاراکتر هفتم از رشه اول رو رار میده 1
    غفلت از يار, گرفتار شدن هم داد
    از شما دور شدن, زار شدن هم دارد
    هرکه از چشم بي افتاد, محلش ندهند
    عبد آلوده شدن, خوار شدن هم دارد
    عيب از ماست, که هر سال نمي بينيمت چشم بيمار شده, تار شدن هم دارد ...

    دیدگاه


      #3
      پاسخ : راهنمایی درباره آرایه ها

      با 'V' مقایسه میشه که البته سینتکس درست نیست!
      * این برنامه مال گیرنده GPSآ‌ هست نه؟!

      دیدگاه


        #4
        پاسخ : پاسخ : راهنمایی درباره آرایه ها

        نوشته اصلی توسط mohammadali1375
        سلام.
        راستش دقیق متوجه سوالتون نشدم.
        به نظر میاد data یک آرایه از رشته ها باشه.

        کد:
        #include <iostream>
        
        using namespace std;
        
        int main(int argc, char* argv[])
        {
        	char data[][10]={"string1", "string1", "string1"};
        	
        	for(int i=0; i<3; i++)
        	{
        		cout << data[i] << "\n";
        	}
        	cout <<"---------------------\n";
        	data[0][6] = '1';
        	data[1][6] = '2';
        	data[2][6] = '3';
        	for(int i=0; i<3; i++)
        	{
        		cout << data[i] << "\n";
        	}
        	cin.get();
        }
        الان مثلا data[0][6] = '1'; میاد کاراکتر هفتم از رشه اول رو رار میده 1
        آره اینشو میدونم . مشکل فکر کنم از یه جای دیگس که نمیفهمم یعنی از همون قسمت دوم

        دیدگاه


          #5
          پاسخ : راهنمایی درباره آرایه ها

          نوشته اصلی توسط mojalan
          با 'V' مقایسه میشه که البته سینتکس درست نیست!
          * این برنامه مال گیرنده GPSآ‌ هست نه؟!
          بله برای گیرنده gps که خود اقای ایمانی فر زحمتشو کشیده . نمیدونم چرا اینجاشو متوجه نمیشم ... شاید به خاطر همین سینتکس اشتباهه که نمیفهممش . از طرفی همه چی درست کار میکنه

          دیدگاه


            #6
            پاسخ : راهنمایی درباره آرایه ها

            گیرنده های GPSآ‌ در پیام GPRMC اگه اشتباه نکنم وضعیت معتبر بودن موقعیت اعلام شده رو نشون میدن که اگه حرف 'V' باشه معتبر نیست! و اگه 'A'آ‌ باشه معتبره
            تو برنامه ای که گذاشتین جای ! و =آ‌ عوض شده به احتمال زیاد یعنی ! سمت چپ = باید باشه
            و میخواد ببینه داده GPSآ‌ معتبر هست یا نه!

            دیدگاه


              #7
              پاسخ : راهنمایی درباره آرایه ها

              نوشته اصلی توسط mojalan
              گیرنده های GPSآ‌ در پیام GPRMC اگه اشتباه نکنم وضعیت معتبر بودن موقعیت اعلام شده رو نشون میدن که اگه حرف 'V' باشه معتبر نیست! و اگه 'A'آ‌ باشه معتبره
              تو برنامه ای که گذاشتین جای ! و =آ‌ عوض شده به احتمال زیاد یعنی ! سمت چپ = باید باشه
              و میخواد ببینه داده GPSآ‌ معتبر هست یا نه!
              بله کاملا صحیح میفرمایید
              از نظر سینتکس که شما بهش اشاره کردین کامپایلر هیچ اروری نمیگیره و برنامه درست اجرا میشه بیشتر مشکلم اینه که اونجا حرف V به صورت یک کارکتر اسکی هست و حرف A به صورت یه کارکتر رشته ای . مگه این دوتا مقداراشون باهم برابره؟ ضمن اینکه اونجا از آرایه دو بعدی برای جایگذاری V استفاده شده اما توی دستور شرطی فقط یه آرایه تک بعدیه که گفته شده و مفایسه شده .. ممنون میشم یکم روشن کنی قضیه رو برام . شایدم من خیلی دارم سخت میگیرمش :redface:

              دیدگاه


                #8
                پاسخ : راهنمایی درباره آرایه ها

                نوشته اصلی توسط Shahab Az
                بله کاملا صحیح میفرمایید
                از نظر سینتکس که شما بهش اشاره کردین کامپایلر هیچ اروری نمیگیره و برنامه درست اجرا میشه بیشتر مشکلم اینه که اونجا حرف V به صورت یک کارکتر اسکی هست و حرف A به صورت یه کارکتر رشته ای . مگه این دوتا مقداراشون باهم برابره؟ ضمن اینکه اونجا از آرایه دو بعدی برای جایگذاری V استفاده شده اما توی دستور شرطی فقط یه آرایه تک بعدیه که گفته شده و مفایسه شده .. ممنون میشم یکم روشن کنی قضیه رو برام . شایدم من خیلی دارم سخت میگیرمش :redface:
                با گذاشتن null بعد زا v سطر دوم آرایه رو تبدیل کرده به رشته(البته null رو هم نمیذاشت مشکلی ایجاد نمیکرد چونstrncmp مقایسه رو محدود کرده) .. وقتی اندیس دوم آرایه رو برمیداریم data [1] به عنوان char* شناخته میشه که ورودی strncmp به این صورته .. رشته دوم هم "A" ...


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

                دیدگاه


                  #9
                  پاسخ : راهنمایی درباره آرایه ها

                  نوشته اصلی توسط afceaglee2013
                  با گذاشتن null بعد زا v سطر دوم آرایه رو تبدیل کرده به رشته(البته null رو هم نمیذاشت مشکلی ایجاد نمیکرد چونstrncmp مقایسه رو محدود کرده) .. وقتی اندیس دوم آرایه رو برمیداریم data [1] به عنوان char* شناخته میشه که ورودی strncmp به این صورته .. رشته دوم هم "A" ...
                  ممنونم دوست عزیز . لطف کردی . الان دوزاریم از کجی در اومد :biggrin: فقط یه سوالم میمونه اینکه مقدار 'v' برابر با "v" هست؟ چون ورودی آرایه اسکی هست ولی مقداری که مقایسه میشه یه کارکتر

                  دیدگاه


                    #10
                    پاسخ : راهنمایی درباره آرایه ها

                    نوشته اصلی توسط Shahab Az
                    :biggrin: فقط یه سوالم میمونه اینکه مقدار 'v' برابر با "v" هست؟ چون ورودی آرایه اسکی هست ولی مقداری که مقایسه میشه یه کارکتر

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

                    دیدگاه

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