PDA

View Full Version : سوال: حذف عناصر تکراری از یک ماتریس یه بعدی



kiuhnmgtrdcv
سه شنبه 30 مهر 1387, 16:11 عصر
سلام به همه دوستان
من یک ارایه 100000 عنصری دارم که 100000 تا عدد تصادفی توی این ارایه ریختم مثلا اعداد تو بازه 100000 تا 999999
میخوام ببینم چطور میتونم عناصر تکراری رو از این ارایه پاک کنم؟ من اگر بیام یه ارایه دیگه درست کنم بعد بیام عناصر ارایه اولی را تو بریزم بعد ارایه دومی رو با اولی مقایسه کنم این کار عاقلانه ای هست؟ چون تعداد اعداد زیاده اگر بخوام اینطوری مقایسه کنم چون اعداد درون ارایه زیاده اول باید اعداد درون ارایه رو مرتب کنم بعد مقایسه کنم در اینصورت که ترتیب اعداد تصادفی بهم میریزه

Nima_NF
سه شنبه 30 مهر 1387, 22:10 عصر
راه های دیگری که می توانید به کار ببرید:
1- ابتدا آرایه اصلی را مرتب کنید، سپس از ابتدا هر خانه را با خانه های مجاور بعدی مقایسه کنید اگر برابر نبودند پس تکراری نیست
2- آرایه اصلی را مرتب نکنید، به ترتیب از ابتدا هر خانه را در آرایه دیگر تک تک کپی کنید و در هر مرتبه که می خواهید بعدی را به آرایه دوم بریزید آن را قبل از کپی کردن با تمامی خانه های ریخته شده تا کنون در آرایه دوم مقایسه کنید تا مطمئن شوید در آرایه دوم تکراری کپی نمی شود.
3- راه های دیگر

kiuhnmgtrdcv
پنج شنبه 02 آبان 1387, 09:36 صبح
من راه دومی که شما پیشنهاد کردید امتحان کردم اینم کدش اگر پیشنهاد دیگه ای دارید خوشحال میشم مطرح کنید
24786

kiuhnmgtrdcv
پنج شنبه 02 آبان 1387, 18:17 عصر
ببخشید مثل اینکه فایلی که پیوست کردم خالیه :لبخند:



//A and B are 2 matrix with 100000 elemetns
//A is initialized with random elements
for(int i=0;i<100000;i++)
{
for(int j=0;j<=i;j++)
{
if(A[i]==B[j])
// B[i]= other random
else
B[i]=A[i]
}
}