Вы находитесь на странице: 1из 2

Лабораторная работа по C#.

Удаление символов из строки


Задача: напишите программу на C#, которая удаляет символ в заданной позиции из заданной строки. Заданная
позиция находится в диапазоне 0 до [длина строки -1] включительно.
Что необходимо знать
Для решения этой лабораторной работы нам потребуются следующие знания основ C#:

1. общие сведения о строках в C#


2. методы работы со строками в C#
3. о логических операторах в C#
4. о типах данных в C#
Алгоритм решения
Алгоритм работы нашего приложения можно представить следующим образом:

1. Пользователь вводит строку. Полученное значение присваивается переменной str


2. Пользователь вводит целое число — позицию символа в строке, который необходимо удалить.
Полученное значение присваиваем переменной x
3. Если переменная x находится в диапазоне от 0 до [длина строки -1], то удаляем символ из str и выводим
результат
4. Если переменная x выходит за пределы диапазона, то выводим пользователю сообщение об ошибке
5. Конец работы программы
Решение лабораторной работы
using System;
namespace LabRab_7
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите строку:");//просим пользователя ввести строку
string str = Console.ReadLine(); //присваиваем введенное значение переменной
Console.WriteLine("Введите номер удаляемого символа:");//просим пользователя ввести позицию символа
int x = Convert.ToInt32(Console.ReadLine());//присваиваем введенное значение переменной
if ((x >= 0) && (x <= str.Length)) //проверяем вхождение x в диапазон
{
str = str.Remove(x, 1); //удаляем один символ из строки, находящийся в позиции x
Console.WriteLine(str); //выводим результат
}
else //введено неверное значение
Console.WriteLine("Ошибка: неверно задана позиция символа в строке");
}
}
}
Результат работы приложения:

Введите строку:
Привет
Введите номер удаляемого символа:
1
Пивет
или

Введите строку:
Привет
Введите номер удаляемого символа:
11
Ошибка: неверно задана позиция символа в строке
Улучшения
В качестве улучшения мы можем дописать программу так, чтобы работа не прерывалась в случае, если
пользователь вводит неверное значение позиции символа, а приложения вновь запрашивало это значение от
пользователя.

using System;
namespace LabRab_7
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите строку:");//просим пользователя ввести строку
string str = Console.ReadLine(); //присваиваем введенное значение переменной
int x;
do //тело цикла выполнится минимум один раз или будет выполняться до тех пор пока условие не станет false
{
Console.WriteLine("Введите номер удаляемого символа:");//просим пользователя ввести позицию символа
x = Convert.ToInt32(Console.ReadLine());//присваиваем введенное значение переменной
}
while ((x < 0) || (x > str.Length));
str = str.Remove(x, 1); //удаляем один символ из строки, находящийся в позиции x
Console.WriteLine(str); //выводим результат
}
}
}
Пример работы улучшенного приложения

Введите строку:
Привет
Введите номер удаляемого символа:
11
Введите номер удаляемого символа:
56
Введите номер удаляемого символа:
1
Пивет
Итого
Сегодня мы выполнили еще одну лабораторную работу, касающуюся основ C#. Для выполнения работы нам
потребовались знания о строках в C#, а для улучшения разработанного приложения — знания о работе циклов в
C#.

Вам также может понравиться