Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
1 / 1 / 3
Регистрация: 07.02.2014
Сообщений: 47
1

Сортировка массива класса string

18.12.2014, 17:38. Показов 5396. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.

Задача опять таки учебная, но тем не менее интересно как можно оптимально ее решить.
Задача
Создать массив строк - к примеру ArraySTRING в котором указываются следующие данные "Номер цеха" "ФИО" "Количество часов" "Количество деталей" "Среднее количество деталей"
После ввода данных строк, необходимо отсортировать строки в массиве (по одному из полей) - к примеру "Количество часов" - после сортировки необходимо создать отдельный html документ с таблицей внутри, заполнив ее данными из массива строк + посчитав некоторые данные (Среднее количество деталей и общую сумму произведенных деталей)

Создание массива строк и его заполнение сделал следующим образом
C#
1
2
3
4
5
6
7
8
9
int K;
Console.WriteLine("Введите количество работников в цехе : ");
            K = int.Parse(Console.ReadLine());
for (int r = 0; r < K; r++)
            {
                
                ArraySTRING[r] = Console.ReadLine();
                Console.WriteLine(ArraySTRING[r]);
            }
Собственно выручаем:
1. как отсортировать массив из строк ?
2. Отсортированный массив нужно разделить на различные массивы (как это сделать с помощью String.Split) ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2014, 17:38
Ответы с готовыми решениями:

Сортировка элементов класса в списке по полю типа string
Ребята, прошу помощи. 3й день не могу реализовать. Есть список выражений, по числам и по алфавиту...

Сортировка массива из объектов по 2-м полям класса
Допустим есть класс Car с полями speed (int) и model (string) и расширяющий Icomparable&lt;Car&gt;. Как...

Сортировка массива объектов класса по свойству объекта
есть класс Order в нём есть свойство string Client есть массив Order orders как отсортировать...

Сортировка массива с помощью Класса-прототипа List<>
Приветствую! Товарищи, нужна помощь в написании простенькой программы. Программа должна считывать...

7
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
18.12.2014, 18:33 2
Отвечаем:
Цитата Сообщение от Gercee Посмотреть сообщение
как отсортировать массив из строк ?
Юзаем материал отсюда: http://www.dotnetperls.com/sort
Цитата Сообщение от Gercee Посмотреть сообщение
Отсортированный массив нужно разделить на различные массивы (как это сделать с помощью String.Split) ?
String.Split разделяет строку на массивы. В вашем случае у вас уже есть массив.
Я вам советую избавится от этого гемороя, и создать человеческий класс, в котором будут нужные поля. Создать конструктор, в котором будет вводится данные по человечески.
Сортировка с помощью LINQ по массиву класса:
C#
1
Array.Sort(some_array, (x, y) => x.Start.CompareTo(y.some_field));
1
1 / 1 / 3
Регистрация: 07.02.2014
Сообщений: 47
18.12.2014, 18:58  [ТС] 3
Я как раз таки понимаю, что это можно сделать с помощью форм и т.п. - но нам нужно это реализовать именно в консоли.
Система образования в Технических ВУЗах Украины - беспощадна )
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
18.12.2014, 19:24 4
Какие то глупые условия в задаче. Гораздо проще и правильней создать массив структур, потому что для сортировки и создания таблицы вам всё равно придётся эти строки разделять, да и зачем они нужны если эти строки нигде и никогда выводить не нужно. А консольная программа ни чем не ограничена , делайте в ней что хотите.

Добавлено через 9 минут
Цитата Сообщение от Gercee Посмотреть сообщение
как отсортировать массив из строк ?
Я бы посоветовал разбить эти строки на структуры и потом их сортировать.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct КакойтоДядя
{
   public string ФИО;
   public int НомерЦеха;
   public int КоличествоЧасов;
   public int КоличествоДеталей;
   public int СреднееКоличествоДеталей;
}
static void Main(string[] args)
{
    КакойтоДядя[] Массив = new КакойтоДядя[55];  
    //сортируем по КоличествоЧасов
    Массив = Массив.OrderBy(x => x.КоличествоЧасов).ToArray();
}
1
1 / 1 / 3
Регистрация: 07.02.2014
Сообщений: 47
18.12.2014, 19:37  [ТС] 5
вывод нужно будет осуществить в таблицу, в предварительно созданном html файле...
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
18.12.2014, 19:42 6
Цитата Сообщение от Gercee Посмотреть сообщение
вывод нужно будет осуществить в таблицу, в предварительно созданном html файле...
Ну я так понимаю что в таблице будут столбики ("Номер цеха" ,"ФИО" ,"Количество часов", "Количество деталей", "Среднее количество деталей" ), т.е. просто так влепить изначальную строку не выйдет.
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
18.12.2014, 19:52 7
Цитата Сообщение от Gercee Посмотреть сообщение
что это можно сделать с помощью форм и т.п. - но нам нужно это реализовать именно в консоли.
А никто про формы и консоли не говорит. Я вам подсказываю универсальное ядро. А как вы там реализуете UI уже никого не колышет.
Ну тогда, если классы не принимают, то вам прямой путь в жесткий парсинг. Но это чес. Честное слово.
0
1 / 1 / 3
Регистрация: 07.02.2014
Сообщений: 47
18.12.2014, 19:58  [ТС] 8
Именно! Вот пример таблицы, которая должна быть в результате...
Сортировка массива класса string
0
18.12.2014, 19:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2014, 19:58
Помогаю со студенческими работами здесь

Сортировка массива объектов класса по свойству объекта
public class SortByName : IComparer&lt;Order&gt; { public int Compare(Order o1, Order o2) ...

Сортировка List<string>
Всем привет! У меня есть строка: c=321&amp;a=123&amp;photo_big=url&amp;b=444&amp;photo=url&amp;x=333&amp;photo_small=123...

Реализация IEquatable<string[]> для класса идентификаторов
Есть класс, наподобие GUID. Генерирующий идентификаторы вот такого плана (ab3c-lkjs-5fhg-9g88)....

Сортировка списка List<string>
Задача - Получить отсортированный список полных имен файлов. Проблема в том, что когда файлы с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru