ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 10 از 10
  1. #1
    2013/03/18
    babol
    1,387
    653

    برگرداندن آرایه اعداد از تابع فرعی به main

    دوستان من چجوری میتونم اعدادی که به صورت آرایه در تابع ذخیره کردم رو return کنم به تابع main و بریزم در داخل متغییری که تو تابع main تعریف شده؟
    کد:
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    using namespace std;
    int adadAval (int);
    // tabe main
    //////
    int main()
    {
    	int aval[200];
    	aval[200] = adadAval();
    	system ("pause");
    }
    int adadAval ()
    {
    	
    .
    .
    .
    	return zakhire[200];
    }

    الان من مثلا چجوری باید متغییر zakhire[200] l رو ببرم بریزم داخل متغییر aval[200] l ؟
    به این سبکی که نوشتم خطا میده.

    ممنون.
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)
  2. #2
    2009/05/05
    905
    125

    پاسخ : برگرداندن آرايه اعداد از تابع فرعي به main

    اين طوري نميشه. بايد يکي از ورودي هاي تابع رو يک پوينتر تعريف کني که مقادير نهايي رو در اون بريزه.
    پوينترها چون آدرس هستند دچار تحول نميشن.مثلا کد زير:
    کد:
    int aval[100];
    void adadAval (int *p);
    int main()
    {
    	 adadAval(aval);
    	system ("pause");
    }
    void adadAval (aval)
    {
    	
    .
    .
    .	aval=zakhire
    	return;
    }
    توي اين کد aval با اين که ارايه است اما c به چشم پوينتر بهش نگاه ميکنه. شما اين رو ميدي به تابع و تابع خروجي در اين پوينتر ذخيره ميکنه و نيازي هم نيست چيزي برگشت داده بشه
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ*هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ*ها، خاطره همتآ*هاى بلند را از يادها محو كرده است. (نهجآ*البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)
  3. #3
    2008/06/03
    62
    0

    پاسخ : برگرداندن آرايه اعداد از تابع فرعي به main

    کد:
    void Calculate_PrimeNumbers(unsigned char * Returned_Array)
    {
    unsigned char Temp_AdadAval[100];
    .............................................................
    .............................................................
    ... Calculate Prime Numbers And Filling On Temp_AdadAval ....
    .............................................................
    .............................................................
    ........ Fill Returned_Array By Temp_AdadAval ...............
    .........For Example You Can Do With For Sequese ............
    .............................................................
    }
    //==============================================================================================
    void main(void)
    {
     unsigned int Prime_Number[100];
     Calculate_PrimeNumber(Prime_Number);  // Now Fill Prime_Number Array By Prime Numbers.
    }
    //==============================================================================================
  4. #4
    2013/03/18
    babol
    1,387
    653

    پاسخ : برگرداندن آرایه اعداد از تابع فرعی به main

    راستش همینکارارو کردم،ولی نشد
    ز دیشب تا الان درگیر این شدم که متغییر های آرایه از تابع رو بفرستم به تابع اصلی ، میخام a[50] l رو که در تابع مقادیر آرایه هاش رو عوض کردیم و بفرستم داخل b[50] l . چطور میتونم این کار رو انجام بدم؟ ممنون از راهنماییتون.
    کد:
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int vorodi ( );
    ///
    int main()
    {
      int b[50];
      b[50] = vorodi ();
      cout <<"<><<><"<< b;
      system("pause");
    }
    ///////
    int vorodi ( )
    {
      int a[50];
      for (int i=0 ; i<50 ; i++)
      {
        a[i] = 22;
      }
      return a;
    }
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)
  5. #5
    2009/05/05
    905
    125

    پاسخ : برگرداندن آرايه اعداد از تابع فرعي به main

    اين برنامه خانه هاي a رو با مقادير 0 تا 49 پر ميکنه. بعدش همش رو ميريزه توي b و بعدش b رو نمايش ميده.
    کد:
    #include <iostream>
    
    void vorodi (int * );
     
    void main()
    {
      int b[50],i;
      vorodi (b);
    	for (i=0;i<50;i++){
      cout <<"<><<><"<< b[i]<<"\n";
    	}	
     while(1);
     
    }
    
    void vorodi (int *b )
    {	char i;
      int a[50];
      for ( i=0 ; i<50 ; i++)
      {
        a[i] = i;
      }
    	for (i=0;i<50;i++) {
    		b[i]=a[i];
    	}
      return ;
    }
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ*هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ*ها، خاطره همتآ*هاى بلند را از يادها محو كرده است. (نهجآ*البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)
  6. #6
    2013/03/18
    babol
    1,387
    653

    پاسخ : برگرداندن آرایه اعداد از تابع فرعی به main

    ممنون علیرضا.

    حالا سوال پیش اومد و اون اینکه ، چرا شما تو این کد
    کد:
    b[i]=a[i];
    قبل از b[i] l ستاره نزاشتید؟مگه b یه اشاره گر نیست؟

    ولی ما تو این کد باید حتما پشت saat o daqiqe ستاره بزاریم.
    کد:
    #include "stdafx.h"
    #include <iostream>
    void tabdil (int a , int b);
    void vorodi (int *saat , int *daqiqe);
    using namespace std;
    int main()
    {
    	int saat , daqiqe;
    	vorodi(&saat , &daqiqe );
    	cin.get();	
    	cin.get();
    }
    void vorodi (int *saat , int *daqiqe)
    {
    	int saat2 , daqiqe2;
    	cout << "saat o daqiqe ro dar qalebe 24 vared kon : ";
    	cin >> saat2 >> daqiqe2;
    	*saat = saat2;
    	*daqiqe = daqiqe2;
    }
    منظورم این کد هاست که مثل b[i] l عمل میکنه.
    کد:
    *saat = saat2;
    *daqiqe = daqiqe2;
    ممنون
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)
  7. #7
    2009/05/05
    905
    125

    پاسخ : برگرداندن آرايه اعداد از تابع فرعي به main

    سوالت رو درست متوجه نشدم.
    اما اين رو بگم آرايه ها هم يک مدل اشاره گر هستند که فقط براساس تعداد خانه هايي که دارند داراي بازه آدرسي مشخصي هستند. يک پوينتر فقط يک آدرس بهش تعلق ميگيره اما آرايه بيشتر
    وقتي هم ورودي تابعي به عنوان اشاره گر معرفي بشه شما ميتونيد از آرايه ها استفاده کنيد و نيازي نيست قبلش * ستاره بذاريد. چون خود آرايه اشاره گر هست.يعني []b با b* تفاوتي نداره.
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ*هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ*ها، خاطره همتآ*هاى بلند را از يادها محو كرده است. (نهجآ*البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)
  8. #8
    2013/03/18
    babol
    1,387
    653

    پاسخ : برگرداندن آرایه اعداد از تابع فرعی به main

    ولی من فکر میکنم که خود b یه آدرس هست،
    ولی آرایه های b مثل b[1] va b[2] va ... l هرکدوم به طور مجزا یه آرایه ، با یه مقداری هستند.
    با اجرای این کد میبینید که b یه آدرس و بقیه داخل خودشون مقدار دارند.
    اینطور نیست؟
    کد:
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    	int b[5];
    	for (int i=0 ; i<5 ; i++)
    		cout << b[i] << "   " << b;
    	system("pause");
    }
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)
  9. #9
    2009/05/05
    905
    125

    پاسخ : برگرداندن آرايه اعداد از تابع فرعي به main

    خب همين ديگه. اصلا اشاره گرچيه؟؟؟ مثلا int *b ، يک متغير رو تعريف ميکنه که آدرسش توي b ريخته ميشه. وقتي هم b نمايش داده بشه آدرس رو ميده. آرايه هم اينطوريه.يعني []b خودش آدرس اولين خونه رو داره و به هرخونه اي که اشاره بشه ميره سراغ محتواش.کامپايلر هم طوري آرايه رو ترجمه ميکنه که در بازه ي آدرسي آرايه متغيري تعريف نشه و تداخل آدرس پيش نياد
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ*هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ*ها، خاطره همتآ*هاى بلند را از يادها محو كرده است. (نهجآ*البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)
  10. #10
    2009/10/27
    تهران
    3,302
    770

    پاسخ : برگرداندن آرایه اعداد از تابع فرعی به main

    نقل قول نوشته اصلی توسط hosseinam1370
    مگه b یه اشاره گر نیست؟
    نام آرایه، اشاره گر به اولین عضو آرایه است و عبارت

    کد:
    a[i]


    با عبارت زیر معادل است:

    کد:
    *(a+i)
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
    امکان پاسخگویی به سوالات از طریق پیغام خصوصی مقدور نیست
نمایش نتایج: از 1 به 10 از 10

موضوعات مشابه

  1. خیلی عجیبه-بدون تابع main برنامه کامپایل میشه
    توسط saeiddiod در انجمن میکروکنترلرهای AVR
    پاسخ: 15
    آخرين نوشته: 2015/12/25, 01:37
  2. پاسخ: 1
    آخرين نوشته: 2015/10/25, 14:03
  3. توضیح درمورد تابع main
    توسط !M! در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/05/19, 13:56
  4. تبدیل آرایه کاراکتری به اعداد صحیح ؟!
    توسط ramezani.t در انجمن برنامه نويسي و اينترفيس
    پاسخ: 5
    آخرين نوشته: 2012/04/12, 22:52
  5. آرومان تابع main
    توسط nasrmicro در انجمن C , C++ , C#
    پاسخ: 1
    آخرين نوشته: 2010/12/30, 23:20

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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