Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
#1

Сортировка строковых массивов

08.09.2015, 20:14. Просмотров 644. Ответов 10
Метки нет (Все метки)

Ребята, помогите отсортировать строковый массив 1, который в первом richtextbox1 по алфавиту да ещё так, чтобы во втором тоже индексы менялись.
Ну т.е., например, если сейчас 9 элемент (из первого) отсортированном станет на 1-го, то и аналогично 2-ом массиве 9 элемент станет первым. Что-то я лучше описать не могу....
2 массива, индексация элементов у них одинаковая, кол-во всегда тоже.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Миниатюры
Сортировка строковых массивов  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2015, 20:14
Ответы с готовыми решениями:

Сортировка массивов с последующим выводом в richTextBox
имеется 2 массива типа string и int. string imena; int nomera; for...

Быстрая сортировка 3000 массивов
Есть массив str, в котором содержатся числа до 10^12, суммарно около 10^7...

OR для строковых переменных.
Столкнулся с такой проблемой. Нужно сравнить несколько вариантов переменных и в...

Поверка на равенство строковых выражений
if (vComboBox1.Text = "admin@bigdumpcode.ru") { string forlog =...

Парсинг больших строковых файлов
Задача следующая: Нужно в текстовом файле (файл может быть очень большого...

10
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
09.09.2015, 16:06  [ТС] #2
Это решил метод
C#
1
Array.Sort(Array1, Array2);
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
10.09.2015, 20:06  [ТС] #3
Не...
Мне по другому нужно.
Нужно по алфавиту же, но алфавит тут из букв, которые в слове.
П У Т И Н
1 2 3 4 5

п - должна стоять раньше у, у после п, но раньше т и т.д.

Помогите это реализовать. Очень нужно Не получается. Массив строковый, в каждом элементе строка.
0
Миниатюры
Сортировка строковых массивов  
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
11.09.2015, 10:47  [ТС] #4
Ребята, нужна помощь, не получается у самого.
0
bublegums
16 / 16 / 17
Регистрация: 31.10.2014
Сообщений: 79
11.09.2015, 11:09 #5
Если вам нужно в алфавитной последовательности, то используйте ключи, как при шифрованиях.
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
11.09.2015, 13:24  [ТС] #6
Вопрос снят. Решено совсем другим способом.
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
var comparer = new StrComparer(textBox3.Text.ToLower()); // Входное слово-фамилия
Array.Sort(ArrayForSortA, ArrayForSortB, comparer);
 
public class StrComparer : IComparer<string>
        {
            public string Alphabet { get; set; }
 
            public StrComparer(string alphabet)
            {
                Alphabet = alphabet;
            }
 
            public int Compare(string x, string y)
            {
                int minLength = Math.Min(x.Length, y.Length);
                for (int i = 0; i < minLength; ++i)
                {
                    if (Alphabet.IndexOf(x[i]) == Alphabet.IndexOf(y[i]))
                        continue;
                    return Alphabet.IndexOf(x[i]) - Alphabet.IndexOf(y[i]);
                }
                return (x.Length - y.Length);
            }
        }
0
Zhavoronkov5
49 / 45 / 23
Регистрация: 27.07.2015
Сообщений: 112
12.09.2015, 00:19 #7
Что-то такое имелось в виду?
C#
1
2
3
4
5
6
7
8
9
10
11
12
string keyString = "Путин";
 
List<string> input = new List<string>
{
    "Ульяна",
    "Павел",
    "Николай",
    "Татьяна",
    "Ирина"
};
 
List<string> output = input.OrderBy(str => keyString.ToUpper().IndexOf(str[0])).ToList();
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
12.09.2015, 07:26  [ТС] #8
Zhavoronkov5, нужно на вывод будет посмотреть. Пока не знаю.
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
12.09.2015, 15:32  [ТС] #9
Zhavoronkov5, получилось так. Я дорисовал как должно быть.
Даже не верно. Случайно не правильно написал. 4 и 5 местами поменять.
0
Миниатюры
Сортировка строковых массивов  
Zhavoronkov5
49 / 45 / 23
Регистрация: 27.07.2015
Сообщений: 112
12.09.2015, 15:41 #10
У Вас же маленькие буквы, а мой список сортируется по большим. Соответственно, с вашим входным списком сортировки вообще нет.
C#
1
List<string> output = input.OrderBy(str => keyString.ToLower().IndexOf(str[0])).ToList();
Хоть понятно, что код делает? Или просто переписываете, не думая?

На всякий случай - мой пример сортирует только по первой букве.
0
b0nny
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
12.09.2015, 16:01  [ТС] #11
Zhavoronkov5, я видел ToLower, но что-то потом забыл про него.
0
12.09.2015, 16:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2015, 16:01

Чтение из файла числовых данных среди строковых.
Здравствуйте! Есть файл, который мне надо пропарсить. он примерно такого вида:...

Как при выборе элемента Листбокса изменить значения нескольких строковых переменных
Например у меня есть листбох с таким соддержанием http://test.ru/...

POST запрос: "Назначение типов массивов разрешено только через выражения инициализации массивов"
Здравствуйте! Делаю пост запрос и возникла ошибка:WebRequest request =...


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

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

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