Задание: Написать программу подсчета числа слов в произвольной строке. В качестве разделителя может быть любое число пробелов. Для ввода строк использовать ListBox. Строки вводятся на этапе проектирования формы, используя окно свойств. Вывод результата организовать в метку Label.
Панель диалога будет иметь вид:
Рис. 1.1. Окно программы обработки строк
Текст обработчика нажатия кнопки «Пуск» приведен ниже.
private void button1_Click(object sender, EventArgs e)
{
// Получаем номер выделенной строки
int index = listBox1.SelectedIndex;
// Считываем строку в перменную str
string str = (string)listBox1.Items[index];
// Узнаем количество символов в строке
int len = str.Length;
// Считаем, что количество пробелов равно 0
int count = 0;
// Устанавливаем счетчик символов в 0
int i = 0;
//Организуем цикл перебора всех символов в строке
while (i < len - 1)
{
// Если нашли пробел, то увеличиваем
// счетчик пробелов на 1
if (str[i] == ' ')
count++;
i++;
}
label1.Text = "Количество пробелов = " +
count.ToString();
}
Индивидуальные задания
Во всех заданиях исходные данные вводить с помощью ListBox. Вывод результата организовать в метку Label. Разработать метод класса Form, реализующий задание.
1. Дана строка, состоящая из групп нулей и единиц. Посчитать количество нулей и единиц.
2. Посчитать в строке количество слов.
3. Найти количество знаков препинания в исходной строке.
4. Дана строка символов. Вывести цифры, содержащиеся в строке.
5. Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести количество четных чисел в этой строке.
6. Поменять местами символы с четными и нечетными номерами в заданной строке.
7. Дана строка символов. Вывести количество строчных русских букв, входящих в эту строку.
8. Дана строка символов. Вывести на экран только строчные русские буквы, входящие в эту строку.
9. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. В каждом слове заменить первую букву на прописную.
10. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Удалить первую букву в каждом слове.
11. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i - и j -ю буквы в каждом слове. Для ввода i и j на форме добавить свои поля ввода.
12. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами первую и последнюю буквы каждого слова.
13. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Заменить все буквы латинского алфавита на знак ‘+’.
14. Дана строка символов, содержащая некоторый текст на русском языке. Заменить все большие буквы буквы ‘А’ на символ ‘*’.
15. Дана строка символов, содержащая некоторый текст. Проверить, является ли данный текст палиндромом, т.е. читается ли он слева направо так же, как и справа налево (например, «А роза упала на лапу азорА»).
16. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Сформировать новую строку, состоящую из чисел длин слов в исходной строке.
17. Дана строка символов. Сформировать из нее строку, в которой символы следуют в порядке возрастания их кодов.
18. Дана строка, содержащая слова, разделенные одиночными пробелами. Сформировать строку, в которой количество пробелов перед каждым словом будет равно его длине.
19. Дана строка, содержащая слова, разделенные пробелами. Вывести слова в порядке возрастания их длины.
20. Дана строка слов, разделенных группами пробелов. Вывести последовательность пар чисел «длина слова – длина группы пробелов».
21. Дана строка. Подсчитать и вывести частоту появления символов.
22. Дана строка, определить наибольшую длину последовательности, включающей заданные символы.
23. Найти и вывести все вещественные числа, содержащиеся в заданной строке.
24. Все подпоследовательности символов заданной строки, коды которых возрастают на единицу, заменить на тройки:
«первый символ» «–» «последний символ».
25. Дана строка, содержащая слова, разделенные пробелами. Вывести все слова, начинающиеся и заканчивающиеся одним и тем же символом без учета регистра.