نمایش نتایج 1 تا 15 از 15

نام تاپیک: مقدار بازگشتی تابع بصورت آرایه

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    مقدار بازگشتی تابع بصورت آرایه

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

  2. #2
    کاربر دائمی آواتار uniqueboy_ara
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    420

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    بله!
    فقط کافیه موقع تعریف تابع، نوع مقدار بازگشتی رو مشخص کنی و بعد از اتمام تعریف، متغییری با همون نوع رو Return کنی
    مثلا این یه تابع ( فقط جنبه آموزشی داره ) خیلی ساده که یه رشته رو میگیره و اون رو از اسلش ها میشکنه و داخل یه آرایه خروجی میده:
    private string[] Spliter(string Input)
    {
    string[] s = Input.Split('/');
    return s;
    }

  3. #3
    مدیر بخش آواتار salehbagheri
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    In Hearts
    سن
    34
    پست
    2,225

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    نقل قول نوشته شده توسط uniqueboy_ara مشاهده تاپیک
    بله!
    فقط کافیه موقع تعریف تابع، نوع مقدار بازگشتی رو مشخص کنی و بعد از اتمام تعریف، متغییری با همون نوع رو Return کنی
    مثلا این یه تابع ( فقط جنبه آموزشی داره ) خیلی ساده که یه رشته رو میگیره و اون رو از اسلش ها میشکنه و داخل یه آرایه خروجی میده:
    private string[] Spliter(string Input)
    {
    string[] s = Input.Split('/');
    return s;
    }
    البته از این پس توصیه میشه که از Generic ها استفاده کنید.
    امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....

    به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....

    دلنوشته های من


  4. #4
    کاربر دائمی آواتار uniqueboy_ara
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    420

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    چشم جناب مدیر :)
    بنده که عرض کردم " فقط جنبه آموزشی داره" ، خواستم دوستمون راحت متوجه بشه، گفتم اگه از List استفاده کنم، کلا گیج میشه ;)

  5. #5
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    سلام
    لطفا دلیل فنی را ارائه فرمائید
    نقل قول نوشته شده توسط salehbagheri مشاهده تاپیک
    البته از این پس توصیه میشه که از Generic ها استفاده کنید.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    نقل قول نوشته شده توسط uniqueboy_ara مشاهده تاپیک
    بله!
    فقط کافیه موقع تعریف تابع، نوع مقدار بازگشتی رو مشخص کنی و بعد از اتمام تعریف، متغییری با همون نوع رو Return کنی
    مثلا این یه تابع ( فقط جنبه آموزشی داره ) خیلی ساده که یه رشته رو میگیره و اون رو از اسلش ها میشکنه و داخل یه آرایه خروجی میده:
    private string[] Spliter(string Input)
    {
    string[] s = Input.Split('/');
    return s;
    }

    ممنون. مشکلم حل شد. ولی حالا تو فراخوانی این تابع مشکل دارم.
    ن تابع زیر رو نوشتم حالا چطور a و b ورودی رو تو فراخوانی بکار ببرم.

    public int[,] zarb(int[,] a, int[,] b, int n)
    {
    int[,] c = new int[n, n];
    for (int i = 0; i <= n - 1; i++)
    {
    for (int j = 0; j <= n - 1; j++)
    {
    c[i, j] = ((a[i, j] * b[j, i]) + (a[i, (j + 1)] * b[(j + 1), i]));
    }
    }
    return c;
    }

  7. #7

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    سلام
    مثل اینکه برنامه ضرب ماتریس رو داری می نویسی. a و b رو مثل همه متغیرهای دیگه به متد پاس کن.
    ارسال آرایه به متدها به عنوان پارامتر:
    Passing Arrays as Parameters (C#‎‎‎ Programming Guide)



    این نسخه موازی برنامه شماست و سرعت در سیستم 4 هسته ای 4 برابر می شود (در دات نت 4 امکان پذیر است):


    static void MultiplyMatricesParallel(double[,] matA, double[,] matB, double[,] result)
    {
    int matACols = matA.GetLength(1);
    int matBCols = matB.GetLength(1);
    int matARows = matA.GetLength(0);

    // A basic matrix multiplication.
    // Parallelize the outer loop to partition the source array by rows.
    Parallel.For(0, matARows, i =>
    {
    for (int j = 0; j < matBCols; j++)
    {
    // Use a temporary to improve parallel performance.
    double temp = 0;
    for (int k = 0; k < matACols; k++)
    {
    temp += matA[i, k] * matB[k, j];
    }
    result[i, j] = temp;
    }
    }); // Parallel.For
    }


    می بینید که نتیجه حاصلضرب هم خودش به متد پاس داده شده است.

  8. #8
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    لطفا دلیل فنی را ارائه فرمائید
    باسلام

    این لینک رو بخونید

    موفق باشید

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    سلام
    مثل اینکه برنامه ضرب ماتریس رو داری می نویسی. a و b رو مثل همه متغیرهای دیگه به متد پاس کن.
    ارسال آرایه به متدها به عنوان پارامتر:
    Passing Arrays as Parameters (C#‎‎‎ Programming Guide)

    این نسخه موازی برنامه شماست و سرعت در سیستم 4 هسته ای 4 برابر می شود (در دات نت 4 امکان پذیر است):


    static void MultiplyMatricesParallel(double[,] matA, double[,] matB, double[,] result)
    {
    int matACols = matA.GetLength(1);
    int matBCols = matB.GetLength(1);
    int matARows = matA.GetLength(0);

    // A basic matrix multiplication.
    // Parallelize the outer loop to partition the source array by rows.
    Parallel.For(0, matARows, i =>
    {
    for (int j = 0; j < matBCols; j++)
    {
    // Use a temporary to improve parallel performance.
    double temp = 0;
    for (int k = 0; k < matACols; k++)
    {
    temp += matA[i, k] * matB[k, j];
    }
    result[i, j] = temp;
    }
    }); // Parallel.For
    }


    می بینید که نتیجه حاصلضرب هم خودش به متد پاس داده شده است.


    ممنونم ولي من بصورت زير فراخواني كردم و خطا داد

    int[,] a = new int[n , n];
    int[,] b = new int[n , n];
    int[,] c = new int[n , n];
    c = zarb(a, b[,], n);

  10. #10

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    گفتم اینطوری:
     c = zarb(a, b, n);

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    گفتم اینطوری:
     c = zarb(a, b, n);
    شرمنده ولي اينطوري هم خطا ميده

  12. #12
    کاربر دائمی آواتار Hossenbor
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    پارس
    پست
    429

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    دوست عزیز شما دارید داده خام تحویل تابع میدین باید اونو مقدار دهی کنید در ضمن اگر امکان داره خطایه مورد نظر رو کپی و اینجا پیست کنی تا بتونیم راهنماییت کنیم

  13. #13
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    سلام
    لینک خراب است

    نقل قول نوشته شده توسط mmd2009 مشاهده تاپیک
    باسلام

    این لینک رو بخونید

    موفق باشید

  14. #14
    مدیر بخش آواتار mmd2009
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    2,393

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    سلام
    لینک خراب است
    برای من که باز میشه

  15. #15
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: مقدار بازگشتی تابع بصورت آرایه

    سلام
    بلاخره لینک را باز کردم و خوندم اتفاقا خیلی جالب بود چون به فکر اولیه من نزدیک بود (من خودم در 99٪ موارد از جنریک استفاده می کنم) خوب شکی نیست که قابلیت و انعطاف پذیری Generic ها در شرایط مساوی از ArrayList ها خیلی خیلی بیشتر است ولی نباید یک نسخه کامل تجویز گردد که از این ببعد از Generic استفاده شود چون بنظر میرسد مثلا برای حل یک دستگاه 1000 معادله و 1000 مجهول (مثلا به روش چولسکی) میزان منابع استفاده شده برای حالت Generic بیشتر از یک Array است که تمام اعضای آن ثابت و ایستا است از طرفی موضوع ByVal و ByRef و همچنین موضوع استفاده از کلاس به جای Struct هم در میان است مثلا :


    public class M
    {
    public M(int Row, int Col, int Value)
    {
    this.Row = Row;
    this.Col = Col;
    this.Value = Value;
    }
    public M(int Row, int Col)
    : this(Row, Col, 0)
    {
    }
    public int Row { set; get; }
    public int Col { set; get; }
    public int Value { set; get; }
    }
    private void f()
    {
    int[,] a =new int[1000, 1000];
    a[0, 0] = 10;
    List<M> b =new List<M>(1000);
    b.Add(new M(0, 0));
    b[0].Value = 10;
    }
    آخرین ویرایش به وسیله ASKaffash : چهارشنبه 21 تیر 1391 در 07:20 صبح

تاپیک های مشابه

  1. سوال: تعریف مقدار بازگشتی تابع
    نوشته شده توسط vB.N3T در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 5
    آخرین پست: شنبه 06 آذر 1389, 15:45 عصر
  2. مقدار بازگشتی تابع یک آرایه باشد!
    نوشته شده توسط 1485159 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: پنج شنبه 02 اردیبهشت 1389, 20:58 عصر
  3. مقدار بازگشتی تابع match در fulltext
    نوشته شده توسط mzamani در بخش MySQL
    پاسخ: 2
    آخرین پست: چهارشنبه 31 مرداد 1386, 18:53 عصر
  4. چگونگی فراخواندن مقدار بازگشتی یک تابع
    نوشته شده توسط zahracomputer در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: پنج شنبه 06 مهر 1385, 13:52 عصر
  5. باز گرداندن آرایه و مقدار در تابع
    نوشته شده توسط zehs_sha در بخش برنامه‌نویسی جاوا
    پاسخ: 3
    آخرین پست: دوشنبه 13 مهر 1383, 14:00 عصر

قوانین ایجاد تاپیک در تالار

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