0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 39
1

Сортировка текста. Расширение ее возможности обработки

05.06.2017, 12:07. Показов 415. Ответов 4
Метки нет (Все метки)

Добрый день пользователи, подскажите, пожалуйста. Есть сортировка, которая сортирует текст в textBox, но вот в чем проблема, она это делает только от 0 и до 999. Тысячи поднимаются в начало списка, чего быть не должно.
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
Location = new Point(600, 250);
            text = File.ReadAllText("Результаты.txt");            
            richTextBox1.Text = text;
            
                var sort = new List<string>();
                sort = richTextBox1.Text.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
                bool flag = true;
                while (flag)
                {
                    flag = false;
                    for (int i = 0; i < sort.Count - 1; ++i)
                        if (sort[i].CompareTo(sort[i + 1]) > 0)
                        {
                            string tmp = sort[i];
                            sort[i] = sort[i + 1];
                            sort[i + 1] = tmp;
                            flag = true;
                        }
                }
                richTextBox1.Clear();
                foreach (string s in sort)
                {
                    richTextBox1.Text += s.ToString() + Environment.NewLine;
                }
                richTextBox1.Text += "" + Environment.NewLine;
Вот пример работы:
Есть строки:
456
1234
678

Что получается:
1234
456
678

А должно получиться:
456
678
1234
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2017, 12:07
Ответы с готовыми решениями:

Расширение для браузера, возможности
Посдкажите, возможно ли в принципе реализовать следующий функционал на JS в рамках расширения для...

CURL. Расширение возможности другого сайта
Дано: http://www.ros-med.info/region/index.php?p=1&amp;r=46&amp;action=page - данный ресурс предоставляет...

Изменить код с учётом возможности пакетной обработки файлов
Здравствуйте, помогите изменить код , у меня 1000 файлов, как то вписывать каждый О_О жесть. и если...

Составить программу для подсчета непарных элементов двумерной матрицы В, (по возможности) используя функцию обработки массива.
Сформировать динамический массив В розмера m×n из случайных целых чисел. Составить программу для...

4
HF
710 / 442 / 115
Регистрация: 09.09.2011
Сообщений: 1,418
Записей в блоге: 2
05.06.2017, 12:12 2
Дело не в тысячах, а в тексте. Сравнение у вас идёт по тексту, а "1" находится выше чем "4".

Совет 1.
Всего лишь везде замените string на int (в List, в Split и в форе) и тогда сортировка будет работать с числовыми данными и сортировать соответственно как числа.

Совет 2.
Как только вы в List<int> положите значения, то отсортируете их одной строкой из LINQ:
Код
sort.Sort();
А после этого половину кода (весь блок while) сразу можно убрать и перейти к обновлению текстбокса.
0
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 39
05.06.2017, 12:19  [ТС] 3
Я не правильно задал вопрос, вот программа
Миниатюры
Сортировка текста. Расширение ее возможности обработки  
0
HF
710 / 442 / 115
Регистрация: 09.09.2011
Сообщений: 1,418
Записей в блоге: 2
05.06.2017, 12:25 4
В таком случае всё-таки начинайте программировать правильно.
1. Заводится класс (модель) - Gamer. С полями - Имя, Очки.
2. Загружаете файл и парсите данные тоже в List<Gamer> с разбивкой на соответствующие поля.
3. Далее сортируете (LINQ: OrderBy) по нужному полю.

Вариант 2 (почти аналогичный)
1. Заводится Dictonary<int, string>, где int - кол-во очков, string - Имя.
Далее всё так же.
0
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 39
05.06.2017, 12:32  [ТС] 5
Я с большим желанием стремлюсь изучать программирование, но текущие знания полученные на первом курсе ставят меня в рамки. Подскажи, пожалуйста, как правильно создать библиотеку и сортировать ее по определенным параметрам, буду очень признателен за объяснение
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2017, 12:32

Расширение поля ввода текста
Здравствуйте! На форме у меня есть текстбокс, иногда приходится вводить длинные строки а места на...

Расширение для копирования текста
Всем привет. Подскажите, может кто сталкивался или знает расширение для Google Chrome или другого...

Расширение TextBox при заполнения текста
Как убрать расширение TextBox при заполнение его текстом? &lt;UserControl...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.