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

نام تاپیک: مقادیر آرایه رو می خوام بلعکس کنم

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    پست
    50

    مقادیر آرایه رو می خوام بلعکس کنم

    سلام

    سوالی داشتم خدمت اساتید

    من یه آرایه 10 عضوی دارم که از 0 تا 9 شماره گذاری شده

    حالا می خوام کاری کنم که ایندکسش بلعکس بشه.

    یعنی مقدار خونه 0 بره توی خونه 9 و مقدار خونه 9 بیاد تویه خونه 0. (با استفاده از حلقه)


    مثلا :

    اگه آرایمون مثل آرایه زیر باشه:

    ایندکس | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    مقدار |10| 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100

    تبدیل بشه به :

    ایندکس | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    مقدار |100| 90 | 80 | 70 | 60 | 50 | 40 | 30 | 20 | 10

  2. #2

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    کاری نداره که میتونی از کد زیر استفاده کنی (ولی تست کن نمیدونم درست نوشتم یا نه)


    int[] a;//s
    void ReverseValuesArray(int[] b)//d
    {
    for (int i = b.Lenght - 1; i >= 0 ; i++)//s
    {
    for (int i = 0 ; j < a.Lenght ; j++)//s
    {
    a[j] = b[i];//f
    }

    }
    }

  3. #3

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    سلام


    using System;

    class Program
    {
    static void Main()
    {
    // Input array.
    int[] array = { 1, 2, 3 };

    // Print.
    foreach (int value in array)
    {
    Console.WriteLine(value);
    }
    Console.WriteLine();

    // Reverse.
    Array.Reverse(array);

    // Print.
    foreach (int value in array)
    {
    Console.WriteLine(value);
    }
    Console.WriteLine();

    // Reverse again.
    Array.Reverse(array);

    // Print.
    foreach (int value in array)
    {
    Console.WriteLine(value);
    }
    }
    }

    Output

    1
    2
    3

    3
    2
    1

    1
    2
    3

  4. #4

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    نقل قول نوشته شده توسط harani مشاهده تاپیک
    کاری نداره که میتونی از کد زیر استفاده کنی (ولی تست کن نمیدونم درست نوشتم یا نه)


    int[] a;//s
    void ReverseValuesArray(int[] b)//d
    {
    for (int i = b.Lenght - 1; i >= 0 ; i++)//s
    {
    for (int i = 0 ; j < a.Lenght ; j++)//s
    {
    a[j] = b[i];//f
    }

    }
    }
    سلام
    ضمن تشکر از دوستمون harani باید بگم کدتون خیلی مشکل داره.
    اول اینکه شمارشگر حلقه اول باید --i باشه که شما اشتباها ++i گذاشتن.
    دوم اینکه تعریف شمارشگر حلقه دوم به جای i باید j باشه.
    سوم اینکه متغییر آرایه ای a وقتی که خالی باشه قطعا طولش با طول آرایه b که قبلا پر شده برابر نیست پس استفاده از Length (که اشتباها Lenght تایپ شده) در حلقه دوم در این کد مناسب نیست.
    چهارم اینکه اصلا این مثال نیازی به استفاده از دو حلقه نداره. (تعداد تکرار دستور داخل حلقه دوم در کد بالا 100 بار خواهد بود که باید 10 بار باشه)
    در کل نتیجه بدست آمده از کد بالا بسیار متفاوت از چیزی که دوستمون خواسته خواهد شد.

    من یه آرایه 10 عضوی دارم که از 0 تا 9 شماره گذاری شده

    حالا می خوام کاری کنم که ایندکسش بلعکس بشه.

    یعنی مقدار خونه 0 بره توی خونه 9 و مقدار خونه 9 بیاد تویه خونه 0. (با استفاده از حلقه)
    شما میتونید از همچین کدی استفاده کنید:
                int i = b.Length-1;
    for (int j = 0; j < b.Length; j++)
    {
    a[j] = b[i];
    i -= 1;
    }

  5. #5

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    نقل قول نوشته شده توسط Nima_kyan مشاهده تاپیک
    سلام
    ضمن تشکر از دوستمون harani باید بگم کدتون خیلی مشکل داره.
    اول اینکه شمارشگر حلقه اول باید --i باشه که شما اشتباها ++i گذاشتن.
    دوم اینکه تعریف شمارشگر حلقه دوم به جای i باید j باشه.
    سوم اینکه متغییر آرایه ای a وقتی که خالی باشه قطعا طولش با طول آرایه b که قبلا پر شده برابر نیست پس استفاده از Length (که اشتباها Lenght تایپ شده) در حلقه دوم در این کد مناسب نیست.
    چهارم اینکه اصلا این مثال نیازی به استفاده از دو حلقه نداره. (تعداد تکرار دستور داخل حلقه دوم در کد بالا 100 بار خواهد بود که باید 10 بار باشه)
    در کل نتیجه بدست آمده از کد بالا بسیار متفاوت از چیزی که دوستمون خواسته خواهد شد.


    شما میتونید از همچین کدی استفاده کنید:
                int i = b.Length-1;
    for (int j = 0; j < b.Length; j++)
    {
    a[j] = b[i];
    i -= 1;
    }
    دوست عزیز از چی ایراد مگیری همینطوری !! من خودم اکثراً کدامو تست میکنم بعد به عنوان پاسخ میذارم اینو هینطوری نوشتم لزومی نداشت اینقدر از کد داغون منو ایراد بگیرین میتونستی فقط جواب خودتونو بنویسید .خودمم گفتم بهش از درست بودنش مطمئن نیستم و تست کن.
    در ضمن تا وقتی که پاسخ صحیح آقای tooraj_azizi_1035 ( یعنی Array.Reverse(array);) نیازی به پاسخهای ما نیست .

  6. #6

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    نقل قول نوشته شده توسط harani مشاهده تاپیک
    دوست عزیز از چی ایراد مگیری همینطوری !! من خودم اکثراً کدامو تست میکنم بعد به عنوان پاسخ میذارم اینو هینطوری نوشتم لزومی نداشت اینقدر از کد داغون منو ایراد بگیرین میتونستی فقط جواب خودتونو بنویسید .خودمم گفتم بهش از درست بودنش مطمئن نیستم و تست کن.
    در ضمن تا وقتی که پاسخ صحیح آقای tooraj_azizi_1035 ( یعنی Array.Reverse(array);) نیازی به پاسخهای ما نیست .
    دوست عزيز قراره اينجا ما بيايم و به كسي كه سوال ميكنه درصورت امكان كمك كنيم نه اينكه با جواب اشتباهمون گمراهش كنيم.
    اين رو نوشتم كه در پاسخ هامون يه خورده بيشتر دقت كنيم چون از اين قبيل پاسخ ها زياده تو تايپك ها.

  7. #7

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    اصلا نیاز به هیچگونه بحث و جدلی نیست !


    int[] ar = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
    Array.Reverse(ar);

    پذیرش انجام پروژه به زبان سی پلاس پلاس و سی شارپ
    Telegram : programmer_292



  8. #8
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    30
    پست
    312

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    با سلام خدمت دوستان
    اول تذکر بدم که کمی ادب بخرج بدین
    من کوچیک همه تون هستم اما جدیدا حس می کنم لحن صحبت هامون بسیار بد و زننده شده ، طوری که اصلا شایسته ی شما که بزرگوار هستین و البته تحصیلکرده نیست.
    دوم اینکه به این قسمت از فرمایشات ایجاد کننده ی تاپیک دقت کنید.
    نقل قول نوشته شده توسط KhanDaii مشاهده تاپیک
    یعنی مقدار خونه 0 بره توی خونه 9 و مقدار خونه 9 بیاد تویه خونه 0. (با استفاده از حلقه)
    این یعنی اینکه ایشون نمی خواد از توابع آماده (Reverse)برای کارش استفاده کنه ، پس با کمال ادب جواب آقای کیان بهترین و کاملترین جوابه.
    با تشکر و عذرخواهی بابت حرفایی که زدم.
    موفق باشید

  9. #9

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    نقل قول نوشته شده توسط roolinjax مشاهده تاپیک
    این یعنی اینکه ایشون نمی خواد از توابع آماده (Reverse)برای کارش استفاده کنه
    موفق باشید
    ما هنوز مطمئن نیستیم که ایشون اصرار دارند از حلقه استفاده کنند یا خیر؟

    متد Reverse کمترین هزینه را دارد.

    و حتماً چرایش رو هم بگن تا بفهمیم چرا نمی خوان از متد آماده استفاده کنند.

  10. #10

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    من پست بالا رو به دقت مطالعه نکرده بودم ، مثل اینکه کاربر گرامی tooraj_azizi_1035 ، به متد Reverse در بالا اشاره کرده اند.
    به هر حال اگر هدف فقط صرف انجام این کار هست ، که متود Reverse اینکار رو به بهترین شکل انجام میده و اگر نه هدف آموزشی
    از این مساله مطرح هست ، باز مشکلی نخواهد بود.

    حل با یک حلقه For :


    void swap(ref int a,ref int b)
    {
    int temp = a;
    a = b;
    b = temp;
    }


    int[] ar = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
    for (int i = 0; i < ar.Length/2; i++)
    swap(ref ar[i], ref ar[ar.Length - i - 1]);


    تابع Swap : جهت تعویض مقدار دو متغیر .

    پذیرش انجام پروژه به زبان سی پلاس پلاس و سی شارپ
    Telegram : programmer_292



  11. #11
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: مقادیر آرایه رو می خوام بلعکس کنم

    اگر سوال خود الگوریتم هست:
    int P = 0;
    while(P < (A.Length >> 1))
    {
    var M = A[P];
    A[P] = A[A.Length - P];
    A[A.Length - P] = M;
    P++;
    }

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

  1. تداخل مقادیر آرایه
    نوشته شده توسط ar_monti@ در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: دوشنبه 21 اردیبهشت 1388, 11:38 صبح
  2. سوال: نحوه برگرداندن مقادیر آرایه از زیربرنامه
    نوشته شده توسط babak_okaliptos در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: دوشنبه 21 بهمن 1387, 21:14 عصر
  3. سلام با adoquery می خوام جستجو کنم ؟
    نوشته شده توسط hentjanson در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: جمعه 03 اسفند 1386, 16:17 عصر
  4. تگ های html وقتی با textbox می خوام آپدیت کنم خطا می گیره
    نوشته شده توسط rezafars در بخش ASP.NET Web Forms
    پاسخ: 9
    آخرین پست: شنبه 09 تیر 1386, 16:16 عصر
  5. بار اولمه با ocx می خوام کار کنم اما . . .
    نوشته شده توسط hamed_bostan در بخش VB.NET
    پاسخ: 7
    آخرین پست: شنبه 28 خرداد 1384, 11:23 صبح

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

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