Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.03.2021
Сообщений: 4

Группировка массива на n равных частей

13.07.2021, 10:11. Показов 2796. Ответов 4

Студворк — интернет-сервис помощи студентам
Короче в чем трабл, нужно список привести к виду :

Name,name,name
name,name,name
name,name,name,name

поделить на три равные части, используя процент от деления..
Не понять саму формулу с этим процентом от деления и как при этом совершить нужный вывод.

КОД:

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace TestProject_2
{
    class Program
    {
 
        class Person
        {
 
            public string Name { get; set; }
 
        }
 
 
        static void Massiv()
        {
            List<Person> people = new List<Person>();
            people.Add(new Person { Name = "Андрей" });
            people.Add(new Person { Name = "Олег" });
            people.Add(new Person { Name = "Костя" });
            people.Add(new Person { Name = "Паша" });
            people.Add(new Person { Name = "Саша" });
            people.Add(new Person { Name = "Даша" });
            people.Add(new Person { Name = "Наташа" });
            people.Add(new Person { Name = "Дима" });
            people.Add(new Person { Name = "Никита" });
            people.Add(new Person { Name = "Миша" });
 
 
            var puple = people.Select((g, i) => new { Index = i + 1, LastName = g.Name });
 
            foreach (var i in puple)
 
            Console.WriteLine(i.Index + ". " + i.LastName);
 
            
 
        }
 
 
        static void Main(string[] args)
        {
            Massiv();
 
            Console.ReadKey();
        }
    }
        
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.07.2021, 10:11
Ответы с готовыми решениями:

Вычислить интеграл, разбивая отрезок интегрирования на n равных частей
подынтегральная функция:Ln^2*x/x (x в числителе не относится к степени нат. логар. ) границы интегрирования:1,4 n=52 выражение для...

Разделите окружность на n равных частей
Добрый день! Прошу пожалуйста сделайте задание кто знает или обьясните. Условие задания: Нужно разделить окружность на n равных частей ...

Пусть отрезок [a,b] разбит на n равных частей
Добрый день, уважаемые форумчане! Надеюсь, что вы мне поможете разобраться с данной задачей. Пытался решить сам, но ничего не...

4
 Аватар для esperanto_qun
1124 / 656 / 393
Регистрация: 28.01.2021
Сообщений: 1,336
13.07.2021, 10:58
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 static void Main()
        {
            List<Person> people = new List<Person>();
            people.Add(new Person { Name = "Андрей" });
            people.Add(new Person { Name = "Олег" });
            people.Add(new Person { Name = "Костя" });
            people.Add(new Person { Name = "Паша" });
            people.Add(new Person { Name = "Саша" });
            people.Add(new Person { Name = "Даша" });
            people.Add(new Person { Name = "Наташа" });
            people.Add(new Person { Name = "Дима" });
            people.Add(new Person { Name = "Никита" });
            people.Add(new Person { Name = "Миша" });
 
            for (int i = 0; i < people.Count; i++)
            {
                if (i % 3 == 0 && i!= 0) Console.WriteLine();
                Console.Write(people[i].Name+" ");
            }
        }
1
0 / 0 / 0
Регистрация: 03.03.2021
Сообщений: 4
13.07.2021, 12:23  [ТС]
Спасибо, сижу голову ломаю через получение из списка отдельного индекса и прочего, а на деле оказался "простой" цикл;<3


Добавлено через 52 минуты
Цитата Сообщение от esperanto_qun Посмотреть сообщение
for (int i = 0; i < people.Count; i++)
            {
                if (i % 3 == 0 && i!= 0) Console.WriteLine();
                Console.Write(people[i].Name+" ");
            }

А возможно такой же список сформировать используя Select и GroupBy?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
13.07.2021, 14:40
Лучший ответ Сообщение было отмечено Lirsk как решение

Решение

Lirsk, так что ли?
C#
1
2
3
4
5
            var result = people.Select((x, i) => new { name = x.Name, ind = i % 3 }).GroupBy(x => x.ind);
            foreach (var item in result)
            {
                Console.WriteLine(string.Join(" ",item.Select(x=>x.name)));
            }
1
0 / 0 / 0
Регистрация: 03.03.2021
Сообщений: 4
13.07.2021, 16:12  [ТС]
Да, спасибо, уже разорабрался, сделал так namespace TestProject_2
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
{
    class Program
    {
 
        class Person
        {
            public string Name { get; set; }
        }
 
 
        static void Massiv()
        {
            List<Person> people = new List<Person>
            {
                new Person { Name = "Андрей" },
                new Person { Name = "Олег" },
                new Person { Name = "Костя" },
                new Person { Name = "Паша" },
                new Person { Name = "Саша" },
                new Person { Name = "Даша" },
                new Person { Name = "Наташа" },
                new Person { Name = "Гена" },
                new Person { Name = "Вика" },
                new Person { Name = "Гриша" },
                new Person { Name = "Степа" },
                new Person { Name = "Иван" },
 
            };
            var groups = people.GroupBy(g=> g.Name)
                .Select(
                (g, i) => new { index = i % 3, g.Key });
            int numb = 0;
            foreach (var res in groups)
            {
                if (res.index % 3 == 0)
                {
                    numb = numb + 1;
                    Console.WriteLine($"\nГруппа {numb}:");                 
                }           
            Console.WriteLine("\t" +res.Key);             
            }
 
        }
 
 
        static void Main(string[] args)
        {
            Massiv();
 
            Console.ReadKey();
        }
    }
        
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.07.2021, 16:12
Помогаю со студенческими работами здесь

Деление стороны квадрата на N равных частей
Здравствуйте, уважаемые форумчане! Нужна помощь со следующим заданием: &quot;Каждую сторону квадрата разделить на N равных частей....

Деление стороны квадрата на N равных частей
Здравствуйте, уважаемые форумчане! Нужна помощь со следующим заданием: &quot;Каждую сторону квадрата разделить на N равных частей....

Деление стороны квадрата на N равных частей
Здравствуйте, уважаемые форумчане! Нужна помощь со следующим заданием: &quot;Каждую сторону квадрата разделить на N равных частей....

Разделения списка на несколько равных частей.
Есть к примеру список s = Как разделить его на несколько частей, чтобы получилось примерно вот что: , , ] Я вот такой код...

Полуинтервал разбивается на 100 равных частей
Даны действительные числа x1,...,x200 , принадлежащие полуинтервалу (0,1]. Полуинтервал разбивается на 100 равных частей. Вычислить p1,...,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru