View Full Version : تفکیک اندیس های زوج و فرد یک آرایه در دو آرایه جداگانه
hosseines
دوشنبه 26 آبان 1393, 12:46 عصر
با سلام یه آرایه به طول n درم که می خوام اندیس های زوج این آرایه را در یک آرایه و اندیس های فرد را در آرایه دیگر بریزیم چکار باید کنم.
mehran6764
دوشنبه 26 آبان 1393, 13:42 عصر
این کد رو امتحان کن :
int[] numbers = new int[10];
int zojcount=1;
int fardcount=1;
numbers[1] = 126;
numbers[2] = 14;
numbers[3] = 58;
numbers[4] = 45;
int[] fard = new int[3];
int[] zoj = new int[3];
for(int i=1;i<=4;i++)
{
if (i % 2 == 0)
{
zoj[zojcount] = numbers[i];
zojcount++;
}
if (i % 2 != 0)
{
fard[fardcount] = numbers[i]; ;
fardcount++;
}
hamid_hr
دوشنبه 26 آبان 1393, 17:02 عصر
string[] str = new string[20];
int i = 0;
var q1 = (from x1 in
(from x in str.AsEnumerable()
select new
{
INDEX = i++,
Value = x
})
where x1.INDEX % 2 == 0
select x1.Value).ToArray();
i = 0;
var q2 = (from x1 in
(from x in str.AsEnumerable()
select new
{
INDEX = i++,
Value = x
})
where x1.INDEX % 2 != 0
select x1.Value).ToArray();
rahnema1
دوشنبه 26 آبان 1393, 20:54 عصر
سلام
به این صورت هم میتونید بنویسید
int[] myarray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = myarray.Length;
var zoj = Enumerable.Range(0, (n - 1) / 2 + 1).Select(v => myarray[2 * v]).ToArray();
var fard = Enumerable.Range(0, n / 2).Select(v => myarray[2 * v + 1]).ToArray();
hosseines
دوشنبه 26 آبان 1393, 23:41 عصر
دوست عزیز آقای mehran6764: ممنون بابت راهنمایی فقط می خوام مقادیر آرایه را از کد زیر بخواند. int[] arr = new int
[listBox1.Items.Count]; int n = arr.Length; if (n == 1) return; for (int i = 0; i < n; i++) { arr[i] = int.Parse(listBox1.Items[i].ToString()); }
mehran6764
سه شنبه 27 آبان 1393, 01:43 صبح
دوست عزیز آقای mehran6764: ممنون بابت راهنمایی فقط می خوام مقادیر آرایه را از کد زیر بخواند. int[] arr = new int
[listBox1.Items.Count]; int n = arr.Length; if (n == 1) return; for (int i = 0; i < n; i++) { arr[i] = int.Parse(listBox1.Items[i].ToString()); }
داداش اگه میش کدت رو داخل تگ کد بزار همون # که تو ادیتور دیده میشه ، چون من نتونستم کپی اش کنم ، منظورت از سوال رو هم متوجه نشدم . الان این سوال شما یه سوال جدیده یا همون جریان زوج و فرده اس ؟
hosseines
سه شنبه 27 آبان 1393, 15:15 عصر
نه سوال جدید نیست دوست عزیز همون زوج و فرد.. من آرایه رو از طریق مقادیر لیست باکس مقدار دهی کردم و میخوام از همین آرایه دو آرایه زوج و فرد رو نمایش بدم که کد مقدار دهی آرایه بصورت زیر: int[] arr = new int
[listBox1.Items.Count]; int n = arr.Length; if (n == 1) return; for (int i = 0; i < n; i++) { arr[i] = int.Parse(listBox1.Items[i].ToString()); }
mehran6764
سه شنبه 27 آبان 1393, 18:57 عصر
نه سوال جدید نیست دوست عزیز همون زوج و فرد.. من آرایه رو از طریق مقادیر لیست باکس مقدار دهی کردم و میخوام از همین آرایه دو آرایه زوج و فرد رو نمایش بدم که کد مقدار دهی آرایه بصورت زیر: int[] arr = new int
[listBox1.Items.Count]; int n = arr.Length; if (n == 1) return; for (int i = 0; i < n; i++) { arr[i] = int.Parse(listBox1.Items[i].ToString()); }
چرا لیست باکس رو درون یه ارایه بریزیم و از درون ارایه اندیس های زوج و فرد رو جدا کنیم ؟ از همون اول اندیس های فرد و زوج ارایه رو تفیک کنیم بهتر نیست ؟
int[] fard = new int
[listBox1.Items.Count];
int[] zoj = new int
[listBox1.Items.Count];
int zojcount = 0;
int fardcount = 0;
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (i % 2 == 0)
{
zoj[zojcount] = int.Parse(listBox1.Items[i].ToString());
zojcount++;
}
if (i % 2 != 0)
{
fard[fardcount] = int.Parse(listBox1.Items[i].ToString());
fardcount++;
}
mehran6764
سه شنبه 27 آبان 1393, 19:02 عصر
نه سوال جدید نیست دوست عزیز همون زوج و فرد.. من آرایه رو از طریق مقادیر لیست باکس مقدار دهی کردم و میخوام از همین آرایه دو آرایه زوج و فرد رو نمایش بدم که کد مقدار دهی آرایه بصورت زیر: int[] arr = new int
[listBox1.Items.Count]; int n = arr.Length; if (n == 1) return; for (int i = 0; i < n; i++) { arr[i] = int.Parse(listBox1.Items[i].ToString()); }
چرا لیست باکس رو درون یه ارایه بریزیم و از درون ارایه اندیس های زوج و فرد رو جدا کنیم ؟ از همون اول اندیس های فرد و زوج ارایه رو تفیک کنیم بهتر نیست ؟
البته پیشنهاد می کنم به جای دو ارایه جدید ، دو arraylist تعریف کنی
int[] fard = new int
[listBox1.Items.Count];
int[] zoj = new int
[listBox1.Items.Count];
int zojcount = 0;
int fardcount = 0;
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (i % 2 == 0)
{
zoj[zojcount] = int.Parse(listBox1.Items[i].ToString());
zojcount++;
}
if (i % 2 != 0)
{
fard[fardcount] = int.Parse(listBox1.Items[i].ToString());
fardcount++;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.