Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2015, 09:44   #11
b0nny
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Если у вас одно слово "Путин", то откуда тут массив строк? Это строка/массив символов.
Из скриншота еще более непонятно стало что за два списка и каким образом 6 окажется сразу после 1.

А так уже во втором сообщении сказали, что в самом Sort нет никакого сравнения букв алфавита, реализуйте IComparer<T>, чтоб сортировать по чему угодно.
В richTextBox массив строковый. Там всевозможные перестановки букв.
Мой алфавит должен состоять из строки ПУТИН, где П-1, У-2, Т-3, И-4, Н-5.

А сортировку самому не удаётся реализовать.
b0nny вне форума Ответить с цитированием
Старый 11.09.2015, 10:49   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

b0nny, вы пост #8 (c) pu4koff видели?
по ссылочке ходили? на сайте msdn.microsoft.com пример прочитали?
как реализовать IComparer<string> увидели?

теперь следующее.
как написать сравнение строк по вашему алфавиту.
перебирайте символы строк и сравнивайте не сами символы, а позицию ваших символов в алфавите.
т.е. сравнивайте:
ВашАлфавит.IndexOf(x[i]) и ВашАлфавит.IndexOf(y[i])


p.s. а вообще, честно говоря, я тоже не понимаю, зачем это вам нужно и что Вы в результате хотите получить...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.09.2015, 11:33   #13
b0nny
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 22
По умолчанию

Смотрите на первый richtextbox

Мне нужно получить
1: п
2: пп
3: пу
4: пт
5: пи
6: пн
7: у
8: уп
9: уу
10: ут
11: уи
12: ун
13: т
14: тп
15: ту
16: тт
и т.д.
b0nny вне форума Ответить с цитированием
Старый 11.09.2015, 11:34   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну так вас уже сказали как это вы сможете сделать, что еще не так?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2015, 11:37   #15
b0nny
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 22
По умолчанию

Одно дело что показали другое, что не получается.
b0nny вне форума Ответить с цитированием
Старый 11.09.2015, 11:45   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

показывайте то как вы пробовали реализовать свой метод сортировки по тому что вам рассказывали.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2015, 12:03   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да никак не пытался! Ждёт готовый код...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.09.2015, 12:13   #18
b0nny
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 22
По умолчанию

Я просто удалил этот отрезок.
И пытался по другому.
b0nny вне форума Ответить с цитированием
Старый 11.09.2015, 12:26   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сформулируйте задачу нормально без всяких скриншотов с непонятными списками.
http://www.gunsmoker.ru/2008/10/x-y-z.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.09.2015, 12:32   #20
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Ленивые то какие люди пошли. Вот вам код сравнивателя, тестируйте:
Код:
public class PutinComparer : IComparer<string>
        {
            public string Alphabet { get; set; }

            public PutinComparer(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);
            }
        }
Работать с ним как-то так:
Код:
var comparer = new PutinComparer("путин");

            string[] strings = { "п", "н", "нн", "уу", "уну", "пп", "нитуп", "тунин", "нун", "пунт", "пнп" };

            Array.Sort(strings, comparer);
На выходе такой массив получается:
Цитата:
"п"
"пп"
"пунт"
"пнп"
"уу"
"уну"
"тунин"
"н"
"нун"
"нитуп"
"нн"
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль для apache - определить собственный метод frommars C/C++ Сетевое программирование 0 15.09.2012 09:09
Сортировки( метод просеивания) SVing Паскаль, Turbo Pascal, PascalABC.NET 13 13.04.2012 15:21
метод сортировки масивов Хитман Помощь студентам 5 10.04.2011 13:29
Метод быстрой сортировки Nord18 Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2010 11:24
метод шейкерной сортировки ai\ekcah^p Помощь студентам 0 22.11.2009 20:22