نوشته شده توسط
ada_a899a
با سلام، و عرض ادب
دوستان به فرض یک مجموعه تصادفی از اعداد به شکل { 1,2,2,2,5,1,1,1,1,4,4,8,1,1,1,1} داریم میخواییم یه خروجی به شکل زیر ازش بگیریم(عدد اول که تنهاست نوشته میشه، بعد عدد بعدی که 2 است به این شکل نوشته بشه(2)3، بعد 5، (1)4 و ... ) در حقیقت همون مجموعه را به شکلی که تعداد تکرار متوالی از هر عدد(اعدادی که تعداد تکرارش بیش از 2 بارباشد) را به جای نوشتن تکراری کنارش تعدادش را بنویسه، خیلی ممنون میشم اگه راه حلی براش ارائه بدین ممنون از همه دوستان
{(1)4,4,8,4,(1)5،4,(2)1،3 }
با استفاده از LINQ نه دقیقا همین مساله ولی شبیه این :
int[] ar = { 1, 2, 2, 2, 5, 1, 1, 1, 1, 4, 4, 8, 1, 1, 1, 1 };
var query = ar.GroupBy(x => x)
.Where(g => g.Count() > 1)
.Select(y => new { Element = y.Key, Counter = y.Count() })
.ToList();
foreach (var q in query)
Console.WriteLine(q.ToString());
Console.Read();