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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 17:07   #1
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию Упорядочен ли текст по алфавиту !

Всем привет , хочу задать такой легкий вопрос мне дана строка из строчных символов определить упорядоченны ли они по алфавиту , мне нужно это реализовать на С шарпе вот что я написал подскажите что не правильно не пойму ?
Код:
private void button1_Click(object sender, EventArgs e)
 {//string [] s = new string (str);
string s = textBox1.Text;
int n=0;
for(int i=0;i<s.Length;i++)
{if (s[i] < s[i+1])
n+=1;}
if (n > 0)
label1.Text = "текст упорядочен:-)";
else
label1.Text = "не упорядочен:-(";
}
Alex_sim вне форума Ответить с цитированием
Старый 18.04.2010, 18:41   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

насколько я понял Ваш текст, Вы считаете сколько символов в строке меньше, чем следующий.
А Вам надо устанавливать переменную, как только хоть один элемент встретили, когда следующий элемент меньш предыдущего - всё: isOrder = false;

как то так (без оптимизации, т.к. цикл надо заменять на цикл с условием):
Код:
bool isOrder = true;
for (int i=0;i<(s.Length-1);i++)
 { if (s[i] > s[i+1])
       isOrder = false; }
if (isOrder)
  label1.Text = "текст упорядочен:-)";
else
  label1.Text = "не упорядочен:-(";
}

p.s. я уж не говорю о том, что подобный цикл должен быть i=0;i<(s.Length-1)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2010, 08:55   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

еще вариант:
создаем массив интов в него записываем числа, а именно
Код:
if(s[i]=='a')
 mass[i]=1;
else if(s[i]=='b')
 mass[i]=2;

...
...
Ну проверить упорядочен ли численный массив или нет думаю справетесь...
dampirik вне форума Ответить с цитированием
Старый 21.04.2010, 21:15   #4
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию

Кабы не создавать новую тему еще вопрос на строки как реализовать удаление повторных вхождений литерал в с шарп. То есть если например в строчке встречается одинаковые символы мы их удаляем . Что нужно сделать для этого для отдельных типов я могу а вот все вместе не получается .
Alex_sim вне форума Ответить с цитированием
Старый 21.04.2010, 21:21   #5
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию

И как еще из textBox-а записать в строковый массив ?или как я понимаю при вводе текста в текстбокс он уже записывает в массив подскажите как с ним работать. ?
Alex_sim вне форума Ответить с цитированием
Старый 29.08.2010, 11:16   #6
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Код:
string s = textBox1.Text;
string msdn
dampirik вне форума Ответить с цитированием
Старый 29.08.2010, 22:15   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
То есть если например в строчке встречается одинаковые символы мы их удаляем .
способов много.
Например, в методе IndexOf есть перегруженный метод, когда ищется вхождение по заданному смещению, вот, пока находится вхождение литерала большее, чем индекс текущего литерала - удалять такое вхождение. Пример кода нужен?

Цитата:
как еще из textBox-а записать в строковый массив
раз массив, значит Вы хотите разделить элементы по какому-то условию? Думаю, что Вам поможет метод .ToArray()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.09.2010, 13:49   #8
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Alex_sim Посмотреть сообщение
И как еще из textBox-а записать в строковый массив ?
Цитата:
раз массив, значит Вы хотите разделить элементы по какому-то условию? Думаю, что Вам поможет метод .ToArray()
А можно воспользоваться методом .Split(<'\n' например>) Результатом будет массив строк
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка по алфавиту DimOn4Ik БД в Delphi 3 17.04.2010 06:48
Метод определяющий упорядочен список по возрастанию. Delphi varlonec Помощь студентам 5 07.03.2010 01:44
Отсортировать по алфавиту Rio309 Помощь студентам 2 09.03.2008 22:52
Сортировка по алфавиту ЧИЖ Общие вопросы Delphi 1 16.03.2007 14:17