PDA

View Full Version : سوال: پیدا کردن عدد بعدی یک عدد در مجموعه



IMANAZADI
شنبه 11 خرداد 1392, 10:04 صبح
با سلام

چطوری میتونم عدد بعدی یک عدد رو در یک مجموعه بدست بیارم

بطور مثال مجموعه ما شامل عدد های 2,4,7,6,8,3,1,10,12,5 و به صورت نامنظم می باشد
حال اگر ما عدد 2 رو داشته باشیم با چه کدی میشود عدد بعدی آن که 3 هست رو در مجموعه پیدا کنیم
با تشکر

drsina
شنبه 11 خرداد 1392, 10:10 صبح
می خوای به ترتیب عدد هارو برات Sort کنه یا می خوای عدد بعدی رو بهت بده ؟ منظورم اینه که مجموعت متناهی یا نامتناهی ؟

drsina
شنبه 11 خرداد 1392, 10:24 صبح
using System;
class Program
{
public static void Main()
{
int i;
Console.WriteLine("Enter your number");
i = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" Your Number is : ");
Console.Write(i+1);
Console.WriteLine();
}
}

dorna20-30
شنبه 11 خرداد 1392, 10:26 صبح
اگه اعدادت تو یه ارایه است می تونی رو آرایه یه سرچ کنی
مثلا اگه عدد مورد نظرت 2 باشه این 2 رو بذار داخل یه متغیری مثلا n. بعد می تونی با حلقه for رو ارایه ات یه همچین شرطی بذاری

if(a[i]==(n+1))با این شرط میتونی عدد بعدیتو پیدا کنی.امیدوارم به دردت بخوره.

majidrezaei2007
شنبه 11 خرداد 1392, 10:27 صبح
int[] myarray = { 2, 4, 7, 6, 8, 3, 1, 10, 12, 5 };
int x = 2;
int next = myarray.Max();
for (int i = 0; i < myarray.Length; i++)
{
if (myarray[i] > x && myarray[i] < next)
{
next = myarray[i];
}
}
MessageBox.Show(next.ToString());

IMANAZADI
شنبه 11 خرداد 1392, 10:42 صبح
دوست عزیز drsina جواب شما که یک عدد رو میگیره یکی اضافه میکنه ، گفتم تو یک مجموعه (آرایه)

دوست عزیز آقای majidrezaei2007 جواب شما درست بود ممنون

IMANAZADI
یک شنبه 12 خرداد 1392, 11:19 صبح
دوستان حال برای اینکه عدد قبل از یک عدد رو پیدا کنیم چی ؟؟؟

tooraj_azizi_1035
یک شنبه 12 خرداد 1392, 11:27 صبح
ابتدا باید آرایه مرتب شود:

int[] nums=new int[] {2,4,7,6,8,3,1,10,12,5 };

Array.Sort(nums);


بعد با متد FindIndex اندیس آن عنصر خاص را یافته و یکی به آن افزود:

Array.FindIndex(nums, n => n==3) +1;


3 یک مثال بود می تونید جاش متغیر بگذارید. عنصر قبل هم یکی کمتر میشه البته قبلش باید چک کنید که اندیس پیدا شده 0 نباشه چون در اینصورت عنصر قبلی در کار نیست.

IMANAZADI
یک شنبه 12 خرداد 1392, 12:03 عصر
آیا راهی هست مثل تابع آقای majidrezaei2007 به جواب برسیم

tooraj_azizi_1035
یک شنبه 12 خرداد 1392, 13:44 عصر
باید سعی کنید از روش های کم هزینه و متدهایی که از قبل برای پاسخ به نیاز شما ساخته شد اند استفاده کنید.