Россия |
Опубликован: 19.02.2009 | Уровень: специалист | Доступ: платный
Лекция 9:
Символы и строки
Практикум
Замечание. При решении задач следует руководствоваться правилом: если в строке должны производится изменения, то лучше пользоваться классом StringBuilder ; если необходимо разбивать строки на слова, то классом String. При решении некоторых задач, потребуется использовать оба класса.
- Разработать программу, которая для заданной строки s:
- вставляет символ x после каждого вхождения символа y ;
Пример
using System; using System.Text; namespace ConsoleApplication { class Class { static void Main() { Console.WriteLine("Введите строку: "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("Исходная строка: "+a); Console.WriteLine("Введите символ x: "); char x=char.Parse(Console.ReadLine()); Console.WriteLine("Введите символ y: "); char y=char.Parse(Console.ReadLine()); for (int i=0; i<a.Length; ++i) if (a[i]==y){a.Insert(i+1,x); ++i;} Console.WriteLine("Измененная строка: "+a); } } }
- меняет местами первую букву со второй, третью с четвертой и т.д.
- определяет, какой из двух заданных символов встречается чаще в строке;
- подсчитывает общее число вхождений символов х и y ;
- подсчитывает количество букв в строке;
- определяет, имеются ли в строке два соседствующих одинаковых символа;
- удаляет среднюю букву, если длина строки нечетная, и две средних, если длина строки четная;
- удваивает каждое вхождение заданного символа x;
- удаляет все символы х;
- удаляет все подстроки substr ;
- заменяет все вхождения подстроки substr1 на подстроку substr2 ;
- подсчитывает сумму всех содержащихся в ней цифр;
- подсчитывает количество содержащихся в ней цифр;
- находит порядковые номера первого и последнего вхождения символа x ;
- заменяет все группы стоящих рядом точек на многоточие;
- выводит на экран последовательность символов, расположенных до первого двоеточия;
- выводит на экран последовательность символов, расположенных после последнего двоеточия;
- удаляет из нее последовательность символов, расположенных между круглыми скобками (считается, что в строке ровно одна пара круглых скобок).
- удаляет из нее последовательность символов, расположенных между двумя запятыми (считается, что в строке ровно две запятые);
- определяет, сколько различных символов встречается в строке.
- вставляет символ x после каждого вхождения символа y ;
- Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания.
- Вывести только те слова сообщения, в которых содержится заданная подстрока.
Пример
using System; using System.Text; namespace ConsoleApplication { class Class { static void Main() { Console.WriteLine("Введите строку: "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("Исходная строка: "+a); Console.WriteLine("Введите заданную подстроку: "); string x=Console.ReadLine(); for (int i=0; i<a.Length;) if (char.IsPunctuation(a[i]))a.Remove(i,1); else ++i; string str=a.ToString(); str=str.Trim(); string []s=str.Split(' '); Console.WriteLine("Искомые слова: "); for (int i=0; i<s.Length; ++i) if (s[i].IndexOf(x)!=-1) Console.WriteLine(s[i]); } } }
- Вывести только те слова сообщения, которые содержат не более чем n букв.
- Вывести только те слова сообщения, которые начинаются с прописной буквы.
- Вывести только те слова сообщения, которые содержат хотя бы одну цифру.
- Удалить из сообщения все слова, которые заканчиваются на заданный символ.
- Удалить из сообщения все слова, содержащие данный символ (без учета регистра).
- Удалить из сообщения все однобуквенные слова (вместе с лишними пробелами).
- Удалить из сообщения все повторяющиеся слова (без учета регистра).
- Подсчитать сколько раз заданное слово встречается в сообщении.
- Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении.
- Найти самое длинное слово сообщения.
- Найти все самые длинные слова сообщения.
- Найти самое короткое слово сообщения.
- Найти все самые короткие слова сообщения.
- Вывести на экран все слова-палиндромы, содержащиеся в сообщении.
- По правилу расстановки знаков препинания перед каждым знаком препинания пробел отсутствует, а после него обязательно стоит пробел. Учитывая данное правило, проверьте текст на правильность расстановки знаков препинания и, если необходимо, внесите в текст изменения.
- Вывести только те слова, которые встречаются в тексте ровно один раз.
- Вывести только те слова, которые встречаются более n раз.
- Вывести слова сообщения в алфавитном порядке.
- Вывести слова сообщения в порядке возрастания их длин.
- Вывести только те слова сообщения, в которых содержится заданная подстрока.