Порядок выполнения индивидуального задания

Задание: Написать программу подсчета числа слов в произвольной строке. В качестве разделителя может быть любое число пробелов. Для ввода строк использовать ListBox. Строки вводятся на этапе проектирования формы, используя окно свойств. Вывод результата организовать в метку Label.

Панель диалога будет иметь вид:

Порядок выполнения индивидуального задания - student2.ru

Рис. 5.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.

1. Дана строка, состоящая из групп нулей и единиц. Посчитать количество нулей и едениц.

2. Посчитать в строке количество слов.

3. Найти количество знаков препинания в исходной строке.

4. Дана строка символов. Вывести на экран цифры, содержащиеся в строке.

5. Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести вывести количество четных чисел в этой строке.

7. Дана строка символов. Вывести на экран количество строчных русских букв, входящих в эту строку.

8. Дана строка символов. Вывести на экран только строчные русские буквы, входящие в эту строку.

9. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. В каждом слове заменить первую букву на прописную.

10. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Удалить первую букву в каждом слове.

11. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i- и j-ю буквы. Для ввода i и j на форме добавить свои поля ввода.

12. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами первую и последнюю буквы каждого слова.

13. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Заменить все буквы латинского алфавита на знак ‘+’.

14. Дана строка символов, содержащая некоторый текст на русском языке. Заменить все большие буквы буквы ‘А’ на символ ‘*’.

15. Дана строка символов, содержащая некоторый текст. Разработать программу, которая определяет, является ли данный текст палиндромом, т.е. читается ли он слева направо так же, как и справа налево ( например, «А роза упала на лапу Азора»).

16. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Сформировать новую строку, состоящую из чисел длин слов в исходной строке.

Лабораторная работа № 6. Программирование с использованием одномерных массивов

Цель лабораторной работы: Изучить способы получения случайных чисел. Написать программу для работы с одномерными массивами.

Работа с массивами

Массив - набор элементов одного и того же типа, объединенных общим именем. Массивы в С# можно использовать по аналогии с тем, как они используются в других языках программирования. Однако С#-массивы имеют существенные отличия: они относятся к ссылочным типам данных, более того - реализованы как объекты. Фактически имя массива является ссылкой на область кучи (динамической памяти), в которой последовательно размещается набор элементов определенного типа. Выделение памяти под элементы происходит на этапе инициализации массива. А за освобождением памяти следит система сборки мусора - неиспользуемые массивы автоматически утилизируются данной системой.

Рассмотрим в данной лабораторной работе одномерные массивы. Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент имеет свой номер. Нумерация элементов массива в С# начинается с нуля, то есть, если массив состоит из 10 элементов, то его элементы будут иметь следующие номера: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Одномерный массив в С# реализуется как объект, поэтому его создание представляет собой двухступенчатый процесс. Сначала объявляется ссылочная переменная на массив, затем выделяется память под требуемое количество элементов базового типа, и ссылочной переменной присваивается адрес нулевого элемента в массиве. Базовый тип определяет тип данных каждого элемента массива. Количество элементов, которые будут храниться в массиве, определяется размер массива.

В общем случае процесс объявления переменной типа массив, и выделение необходимого объема памяти может быть разделено. Кроме того на этапе объявления массива можно произвести его инициализацию. Поэтому для объявления одномерного массива может использоваться одна из следующих форм записи:

базовый_тип [] имя__массива;

Описана ссылка на одномерный массив, которая в дальнейшем может быть использована для адресации на уже существующий массив. Например: int [] a;

базовый_тип [] имя__массива = new базовый_тип [размер];

Объявлен одномерный массив заданного типа и выделена память под одномерный массив указанной размерности. Адрес данной области памяти записан в ссылочную переменную. Элементы массива равны нулю (В C# элементам массива присваиваются начальные значения по умолчанию в зависимости от базового типа. Для арифметических типов - нули, для ссылочных типов - null, для символов - пробел). Например: int []a=new int [10];

базовый_тип [] имя__массива={список инициализации};

Выделена память под одномерный массив, размерность которого соответствует количеству элементов в списке инициализации. Адрес этой области памяти записан в ссылочную переменную. Значение элементов массива соответствует списку инициализации. Например: int []a={0, 1, 2, 3};

Обращения к элементам массива происходит с помощью индекса, для этого нужно указать имя массива и в квадратных скобках его номер. Например, a[0], b[10], c[i].

Так как массив представляет собой набор элементов, объединенных общим именем, то обработка массива обычно производится в цикле. Например:

int[] myArray = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

int i;

for (i = 0; i < 10; ++i)

Console.WriteLine(myArray[i]);

Случайные числа

Одним из способов задания массива является задание определение элементов через случайные числа. Для работы со случайными числами используются в основном два метода класса Random: Random и Next. Метод Random подготавливает работу со случайными числами, обеспечивая, надежный способ создания непредсказуемой последовательности чисел.

Метод Random.Next создает случайное число в диапазоне значений от нуля до Int32.MaxValue. Для создания случайного числа в диапазоне от нуля до какого-либо другого положительного числа используется перегрузка метода Random.Next(Int32). Для создания случайного числа в другом диапазоне используется перегрузка метода Random.Next(Int32, Int32).

Наши рекомендации