PDA

View Full Version : سوال: بدست آوردن فرکانس عدد مورد نظر در یک آرایه



MaHyaR.DrAcOulA
شنبه 04 دی 1389, 17:32 عصر
سلام دوستان
چطور میتونیم دو آرایه رو با هم مقایسه کنیم؟
مثلا ما دو تا آرایه 10 تایی داریم میخوایم این دو رو با هم مقایسه کنیم
به عنوان مثال 2 که تو آرایه اول است در آرایه دوم 3 بار تکرار شده است
هر چه قدر کلنجار میرم نمیتونم درستش کنم

mehdi.mousavi
شنبه 04 دی 1389, 19:21 عصر
سلام دوستان چطور میتونیم دو آرایه رو با هم مقایسه کنیم؟

سلام.
می تونید با اضافه کردن یه Extension Method اینکارو انجام بدید:


public static class ExtensionMethod
{
public static bool IsEqualTo(this byte[] data1, byte[] data2)
{
if (data1 == null && data2 == null)
return true;

if (data1 == null || data2 == null)
return false;

if (data1.Length != data2.Length)
return false;

for (int i = 0; i < data1.Length; i++)
if (data1[i] != data2[i])
return false;

return true;
}
}


سپس، برای استفاده، می تونید بدین شکل عمل کنید:


byte[] b1 = new byte[] { 1, 20, 40 };
byte[] b2 = new byte[] { 1, 20, 20 };

bool equals = b1.IsEqualTo(b2);

من این کارو با byte array انجام دادم، شما در صورت نیاز میتونید کد فوق رو تغییر بدید و ازش استفاده کنید. (حتی میتونید با استفاده از Generic ها، کلاس کلی تری بنویسید).

موفق باشید.

MaHyaR.DrAcOulA
شنبه 04 دی 1389, 20:44 عصر
a = 1 , 15 , 20 , 50
b = 6 , 9 , 20 , 20
مثلا ما این دو تا آرایه رو داریم میخوایم ببینیم که اعدادی که در آرایه a هستن چند بار در آرایه b تکرار شدن
چیکار باید بکنیم؟
از اول من دنبال راه حلی برای این مشکل بودم

hossin.esm
شنبه 04 دی 1389, 22:17 عصر
private void eq(int[] s,int[] d)
{
int c = 0;
for (int i = 0; i < s.Length; i++)
{
for (int j = 0; j < d.Length; j++)
{
if (s[i] == d[j])
{
c++;
}
}
MessageBox.Show(s[i].ToString() + ":" + c.ToString());
c = 0;
}
c = 0;
}

mehdi.mousavi
شنبه 04 دی 1389, 23:59 عصر
a = 1 , 15 , 20 , 50
b = 6 , 9 , 20 , 20
مثلا ما این دو تا آرایه رو داریم میخوایم ببینیم که اعدادی که در آرایه a هستن چند بار در آرایه b تکرار شدن چیکار باید بکنیم؟ از اول من دنبال راه حلی برای این مشکل بودم

سلام.
لطفا از این بعد سوالتون رو شفاف مطرح کنید و عناوین مناسبی برای اون ها انتخاب کنید. من سه خط اول پیام شما رو خوندم و پاسخ دادم،
اما الان متوجه شدم منظور شما از مقایسه دو آرایه، در حقیقت بدست آوردن فرکانس اعداد موجود در آرایه اول، توی آرای دوم بوده که البته
hossin.esm بهتون پاسخ دادن.

موفق باشید.