Задача темы: изучить методику и получить навыки в разработке функциональности приложений, использующих сортировки текстовых данных. В отличие от предыдущей задачи, в которой сортировались текстовые строки, состоящие только из цифр, здесь ставится задача сортировки строки из букв.
Разработка: Приложение "Сортировка " для сортировки
массива переменных типа Char с использованием функции
сортировки, определенной в отдельном классе.
Состав выполняемых функций:
Наращивание функциональности не предусматривается.
Защита данных не предусматривается.
В качестве входных данных используется текстовая строка. Выходные данные программы – графическое отображение результатов в виде текстового поля и листбокса в форме для SmartDevice.
Шаг 1. Разработка графического интерфейса
Используется одна форма с двумя текстовыми полями – одно для ввода
(указываем свойство Text= Исходный массив ), другое и листбокс – для
вывода отсортированного массива. Предусматриваются кнопка запуска
процедуры сортировки "Сортировать" и кнопка очистки поля
ввода "Очистить". Примерный дизайн показан на рис. 7.1.
(рис 7.1) Шаг 2. Добавляем в проект новый класс
Новому классу присваиваем имя (хотя это и необязательно –
можно использовать имя по умолчанию Class1 )
Шаг 3. Создаем функцию сортировки qs в public class
Так как функция static. Вместо public пишем:
static void qs(char[] items,int left,int right) {
int i,j;
char x,y;
i=left; j=right;
x=items[(left+right)/2];
do { while((items[i]<x)(i<right)) i++;
while((x<items[j])(j>left)) j--;
if(i<=j) {y=items[i];
items[i]=items[j];
items[j]=y;
i++; j--;
}
}
while(i<=j);
if(left<j) qs(items,left,j); // рекурсивный вызов функции сортировки Квик
if(i<right) qs(items,i,right);
}
Шаг 4. Создаем функцию qsort для
рекрсивного вызова функции сортировки qs в public class
public static void qsort(char[] items)
{//вызывается функция qs с параметрами исходного массива Char
qs(items,0,items.Length-1);
}
Шаг 5. Создаем процедуру запуска сортировки
Для кнопки "Сортировать" класса Form1 пишем:
private void button1_Click(object sender, System.EventArgs e) {
/* Так как string это сумма char, то нужно выполнить конвертацию
посимвольно */
string CharValidate =this.textBox1.Text;
/* задаем строковую переменную, в которую считываем значения из
текстового поля и преобразуем строку в массив кодов символов */
char[] a=CharValidate.ToCharArray();
int i;
string s_old="";
for(i=0;i<a.Length;i++)
s_old=s_old+a[i].ToString();
textBox1.Text=s_old;
Quicksort.qsort(a); //вызов функции - срабатывает подсказка редактора!
string s_new="";
for(i=0;i<a.Length; i++)
s_new=s_new+a[i].ToString();
textBox2.Text=s_new; // выводим результат сортировки в textBox2
// а теперь запускаем цикл построчного заполнения листбокса
for(i=0;i<a.Length; i++)
listBox1.Items.Add(a[i]);
}
Шаг 6. Создаем процедуру очистки результатов
Для кнопки "Очистить" пишем:
private void button2_Click(object sender, System.EventArgs e) {
textBox1.Text="Исходный массив";
textBox2.Text="Отсортированный массив";
listBox1.Items.Clear();
}
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.