Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/39: Рейтинг темы: голосов - 39, средняя оценка - 4.82
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035

Подсчитать количество уникальных значений в массиве

12.01.2011, 17:10. Показов 7996. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть список, в нем надо подсчитать количество повторяющихся значений.

То есть например : 4, 5, 4, 1, 3, 2
В результате:
4 - 2 штуки
5 -1
1 -1
3 -1
2 -1

Имею :
Структура
C#
1
2
3
4
5
6
        struct Angles_Os
        {
            public Double a;
            public int Num_point0;
            public int Num_point1;
        };
C#
1
        static List<Angles_Os> angles = new List<Angles_Os>();
надо определить для параметра a
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2011, 17:10
Ответы с готовыми решениями:

Как подсчитать количество одинаковых значений в массиве?
Имеется большой отсортированный массив в котором нет уникальных значений.Необходимо подсчитать количество всех одинаковых элементов...

Подсчитайте количество уникальных чисел в массиве
помогите пожалуйста с задачей по C#. Подсчитать количество уникальных чисел в массиве, т.е. таких, которые присутствуют в единственном...

Подсчитайте количество уникальных чисел в массиве
Помогите пожалуйста, можете решить задачки, только понятным кодом?) Чтобы сам разобрался) 3)Подсчитайте количество уникальных чисел в...

6
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
12.01.2011, 17:23
C#
1
2
3
4
5
var res = from angel in angles
          group angel by angel.a into g
          let count = g.Count()
          orderby count descending
          select new { a = g.Key, count = count };
1
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
12.01.2011, 18:07  [ТС]
а как потом res использовать?
Я хочу данные в chart запихать потом, для этого нашел:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System.Windows.Forms.DataVisualization.Charting;
using System.Windows.Forms.DataVisualization.Charting.Utilities;
...
 
// Populate "Default" chart series with random data
Random rand = new Random();
for(int index = 1; index < 100; index++) 
{
    chart1.Series["Default"].Points.AddY(rand.Next(1, 1000));
}
 
// HistogramChartHelper is a helper class found in the samples Utilities folder. 
HistogramChartHelper histogramHelper = new HistogramChartHelper();
 
// Show the percent frequency on the right Y axis.
histogramHelper.ShowPercentOnSecondaryYAxis = true;
 
// Specify number of segment intervals
histogramHelper.SegmentIntervalNumber = 10;
 
// Or you can specify the exact length of the interval
// histogramHelper.SegmentIntervalWidth = 15;
 
// Create histogram series    
histogramHelper.CreateHistogram(chart1, "Default", "Histogram");
но там чето ошибку выводит(класса не знает HistogramChartHelper ).

Но можно и так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System.Windows.Forms.DataVisualization.Charting;
...
 
// Set series chart type
chart1.Series["Default"].ChartType = SeriesChartType.Bar;
 
// Set series point width
chart1.Series["Default"]["PointWidth"] = "0.6";
 
// Show data points labels
chart1.Series["Default"].IsValueShownAsLabel = true;
 
// Set data points label style
chart1.Series["Default"]["BarLabelStyle"] = "Center";
 
// Display chart as 3D
chart1.ChartAreas[0].Area3DStyle.Enable3D = true;
 
// Draw the chart as embossed
chart1.Series["Default"]["DrawingStyle"] = "Emboss";
но надо понять как с res работать.
0
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
12.01.2011, 18:41
C#
1
2
3
4
5
foreach (var item in res)
{
    Console.WriteLine(item.a);
    Console.WriteLine(item.count);
}
1
шарпопочитатель
 Аватар для ht1515
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
12.01.2011, 21:06  [ТС]
а вот почему когда я пишу
C#
1
2
3
var l = from n in angles group n by n.a into cn orderby cn.Count() descending select cn.Key;
 
            var tochka1 = l;
И потом пытаюсь получить поле из
tochka1.Num_point0 - он о нем ниче не знает!!!

структура:
C#
1
2
3
4
5
6
 public  struct Angles_Os
        {
            public Double a;
            public int Num_point0;
            public int Num_point1;
        };
список
C#
1
public static List<Angles_Os> angles = new List<Angles_Os>();
0
0 / 0 / 0
Регистрация: 19.04.2011
Сообщений: 38
26.12.2011, 23:49
HIMen, хотел такую же штуку провернуть со списком int,но оно почему то вообще не реагирует.Не подскажете,в чем ошыбка?
C#
1
2
3
4
5
6
7
8
 var res = from x in Xi
                      group x by x into g
                      let count = g.Count()
                      orderby count descending
                      select new { a = g.Key, b = count };
 
            foreach (var item in res)
                listBox1.Items.Add(item.a + " " + item.b);
Xi ето мой интовый список.
Я понимаю,что ошыбка в строчке group x by x into g,но не знаб как написать правильно...
0
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
27.12.2011, 12:44
Вот набросал:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    struct Angles_Os
    {
        public double a;
        public int Num_point0;
        public int Num_point1;
 
        public Angles_Os(double a,int Num0,int Num1)
        {
            this.a = a;
            Num_point0 = Num0;
            Num_point1 = Num1;
        }
 
        public override string ToString()
        {
            return String.Format("double a= "+a+"\nNumPoint0= "+Num_point0+"\nNumPoint1= "+Num_point1);
        }
 
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            List<Angles_Os> angels=new List<Angles_Os>();
 
            //заполняем специально повторяющимися значениями
            double r = 0.0;
            for (int i = 0; i < 10; i++)
            {
                angels.Add(new Angles_Os(r,i*2-1,i*2));
                r++;
                if (r == 4) r = 0;
            }
 
            //удаляем повторные
            for (int i = 0; i < angels.Count; i++)
            {
                for (int j = i+1; j < angels.Count; j++)
                {
                    if (angels[i].a == angels[j].a) angels.Remove(angels[j]);
                }
            }
 
            //отображаем
            for (int i = 0; i < angels.Count; i++)
            {
                Console.WriteLine(angels[i].ToString());
                Console.WriteLine();
            }
 
            Console.ReadLine();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2011, 12:44
Помогаю со студенческими работами здесь

Максимальное количество уникальных чисел в массиве
Задан массив list состоящий из элементов - чисел 9 7 8 1 7 4 6 7 7 8 8 8 8 1 1 2 1 7 1 9 Каким способом мне получить максимальное...

Подсчитать количество уникальных значений в List
Уже 40 минут туплю над этим вопросом, все найденные примеры на Lynq не помогают. Вот в чем суть. Имеется класс: public class AppInfo ...

Подсчитать количество уникальных строк в большом файле
Добрый день! Имеется файл, сколько угодно большой, содержащий текстовые строки. О длине строк ничего не известно. Т.е. строка может быть...

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

List: подсчитать количество повторяющихся значений
Помогите пожалуйста, мне надо подсчитать количество повторяющихся значений. Например List содержит 1,2,2,1,2,3 мне надо вывести: 2-3раза...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru