C# подсчет количества пар в списке

Grek

Client
Регистрация
28.09.2014
Сообщения
33
Благодарностей
2
Баллы
8
Доброго времени суток!

на входе есть список из 6 элементов, каждый это любое число от 1 до 9, список отсортирован по возрастанию, нужно получить количество пар разных цифр.
Пробовал так

var sourceList = project.Lists["List5"];
IZennoTable table = project.Tables["Pairs"];
table.Clear();

for (int i = 0; i < 5; i++)
{
int j;
for (j = i + 1; j < 5; j++)
{
var str1 = sourceList;
var str2 = sourceList[j];
if (str1 != str2)
{
if ((j-i)>1)
{
var qwe = ""+str1+";"+(j - i);
table.AddRow(qwe);

i = j;
break;
}

}
if (j == 5)
{
if ((j-i)>1)
{
var qwe = ""+str1+";"+(j - i);
table.AddRow(qwe);
break;
}
}
}
}
В итоге кол-во строк в таблице "Pairs" это и есть количество пар, но не всегда верно считает..в чем ошибка, подскажите плз. код :ah:
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
пример для наглядности
Код:
var list = "1,2,3,4,1,2,9,4,4".Split(',').ToList();
return string.Join("\r\n", list.GroupBy(x=>x).Where(g=>g.Count()>1).Select(g=>g.Key+";"+g.Count()));
или так
Код:
var list = "1,2,3,4,1,2,9,4,4".Split(',').ToList();
return list.GroupBy(x=>x).Where(g=>g.Count()>1).Count();
для пользования зп списком нужно написать так
Код:
var list = project.Lists["List5"];
 
Последнее редактирование:
  • Спасибо
Реакции: Grek

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)