Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Решены задачи 17,26,48. Не решены: 1-16, 18-25, 27-47.
Задачи
Т5.1. Дано предложение. Все буквы е в нем заменить буквой и.
Т5.2. Дано предложение. Все пробелы в нем заменить символом «_».
Т5.3. Дано предложение. Все его символы, стоящие на четных местах, заменить буквой ы.
Т5.4. Дано предложение. Все его символы, стоящие на третьем, шестом, девятом и т. д. местах, заменить буквой а.
Т5.5. Дано предложение. Заменить в нем все вхождения буквосочетания ах на ух.
Т5.6. Дано предложение. Заменить в нем все вхождения буквосочетания да на не.
Т5.7. Дано предложение. Заменить в нем все вхождения буквосочетания про на нет.
Т5.8. Дано предложение. Заменить в нем все вхождения буквосочетания бит на рог.
Т5.9. Дано предложение. Заменить в нем все вхождения подстроки s1 на подстроку s2.
Т5.10. Символьной строке s по ошибке вместо опечатка присвоено значение очепатка. Изменить значение s так, чтобы ошибки не было.
Т5.11. Дано слово. Поменять местами его вторую и пятую буквы.
Т5.12. Дано слово. Поменять местами его третью и последнюю буквы.
Т5.13. Дано слово. Поменять местами его m-ю и n-ю буквы.
Т5.14. Дано слово из четного числа букв. Поменять местами первую букву со второй, третью — с четвертой и т. д.
Т5.15. Дано слово из четного числа букв. Поменять местами его половины следующим способом: первую букву поменять с последней, вторую — с предпоследней и т. д.
Т5.16. Дано слово из 12-ти букв. Переставить в обратном порядке буквы, расположенные между второй и десятой буквами (т. е. с третьей по девятую).
Т5.17. Дано слово из 15-ти букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами (т. е. с (k + 1)-й по (s – 1)-ю). Значения k и s вводятся с клавиатуры, k < s.
Т5.18. Дано слово. Поменять местами первую из букв а и последнюю из букв о. Учесть возможность того, что таких букв в слове может не быть.
Внимание!
В задачах Т5.19—Т5.28 под удалением символа из символьной строки следует понимать: исключение этого символа из строки путем смещения всех следующих за ним символов влево на одну позицию;
присваивание последнему символу исходной строки значения «_».
Т5.19. Устранить имеющуюся в заданном слове ошибку:
а) дано слово глинянный;
б) дано слово граффика.
Т5.20. Дано слово.
а) Удалить из него третью букву.
б) Удалить из него k-ю букву.
Т5.21. Дано слово.
а) Удалить из него первую из букв о, если такая буква есть.
б) Удалить из него последнюю из букв л, если такая буква есть.
Т5.22. Дано слово. Если его длина нечетная, то удалить среднюю букву, в противном случае — две средних буквы.
Т5.23. Дано предложение. Удалить из него все символы с n1-го по n2-й (n1 n2).
Т5.24. Дано предложение. Удалить из него все буквы с.
Т5.25. Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, т. е. в слове должны остаться только различные буквы.
Т5.26. Дано предложение. Удалить из него все буквы о, стоящие на нечетных местах.
Т5.27. Проверить, является ли «перевертышем» (см. задачу 9.78) следующая символьная строка после удаления из нее всех пробелов:
а) АРГЕНТИНА МАНИТ НЕГРА;
б) ПОТ КАК ПОТОП;
в) А РОЗА УПАЛА НА ЛАПУ АЗОРА.
Во всех задачах последние символы «_», полученные после удаления пробелов, не учитывать.
Т5.28. Проверить, является ли некоторая символьная строка «перевертышем» после удаления из нее всех пробелов. Последние символы «_», полученные после удаления пробелов, не учитывать.
Внимание!
В задачах Т5.29—Т5.35 под вставкой символа s в символьную строку после k-го символа следует понимать:
смещение всех символов начиная с (k + 1)-го вправо на одну позицию;
присваивание (k + 1)-му символу строки значения s.
Т5.29. Дано слово стекляный_. Исправить ошибку в нем.
Т5.30. Дана фраза ценая вещь_. Исправить ошибку в ней.
Т5.31. Дано слово, оканчивающееся символом «_». Вставить букву т после k-й буквы.
Т5.32. Дано слово, оканчивающееся символом «_». Составить программу, которая вставляет некоторую заданную букву после буквы с заданным номером.
Т5.33. Дано слово, оканчивающееся символом «_». Вставить заданную букву после первой буквы и.
Т5.34. Дано предложение, оканчивающееся символом «_». Вставить заданную букву перед последней буквой и.
Т5.35. Путем вставок и удаления символов исправить ошибки:
а) в слове прроцесор;
б) во фразе теекстовыйфайл;
в) во фразе програма и аллгоритм;
г) во фразе процесор и паммять.
Т5.36. Дано ошибочно написанное слово рпроцессо. Путем перемещения его букв получить слово процессор.
Т5.37. Дано слово. Переставить его первую букву на место последней. При этом вторую, третью, …, последнюю буквы сдвинуть влево на одну позицию.
Т5.38. Дано ошибочно написанное слово иинформаця. Путем перемещения его букв получить слово информация.
Т5.39. Дано слово. Переставить его первую букву на место k-й. При этом вторую, третью, …, k-ю буквы сдвинуть влево на одну позицию.
Т5.40. Дано ошибочно написанное слово алигортм. Путем перемещения его букв получить слово алгоритм.
Т5.41. Дано слово. Переставить его s-ю букву на место k-й (s < k). При этом (s + 1)-ю, (s + 2)-ю, …, k-ю буквы сдвинуть влево на одну позицию.
Т5.42. Дано ошибочно написанное слово роцессорп. Путем перемещения его букв получить слово процессор.
Т5.43. Дано слово. Переставить его последнюю букву на место первой. При этом первую, вторую, …, предпоследнюю буквы сдвинуть вправо на одну позицию.
Т5.44. Дано ошибочно написанное слово ИТЕРНЕТН. Путем перемещения его букв получить слово ИНТЕРНЕТ.
Т5.45. Дано слово. Переставить его последнюю букву на место k-й. При этом k-ю, (k + 1)-ю, …, предпоследнюю буквы сдвинуть вправо на одну позицию.
Т5.46. Дано ошибочно написанное слово килбайот. Путем перемещения его букв получить слово килобайт.
Т5.47. Дано слово. Переставить его s-ю букву на место k-й (s > k). При этом k-ю, (k + 1)-ю, …, (s – 1)-ю буквы сдвинуть вправо на одну позицию.
Т5.48. Дано слово из 12-ти букв. Переставить его буквы следующим способом: первая, двенадцатая, вторая, одиннадцатая, …, пятая, восьмая, шестая, седьмая.
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
Т5. Задачи на изменение исходных строковых величин Часть 1
Т5. Задачи на изменение исходных строковых величин Часть 2
Т5.29. Дано слово стекляный_. Исправить ошибку в нем.
string word = «стекляный_»;
string h = «н»;
word = word.Insert(6, h);
Console.Write(word);
№5.28
string word = «АРГЕНТИНА МАНИТ НЕГРА»;
string[] txt = word.Split(new char[] { ‘ ‘ }, StringSplitOptions.RemoveEmptyEntries);
string s10 = string.Join(«», txt);
char[] array = s10.ToArray();
Array.Reverse(array);
string s = new string(array);
if (s10 == s)
Console.WriteLine(«Палиндром»);
else
Console.WriteLine(«НЕ палиндром»);
Console.Write(s); //для проверки
//Подскажите как добавлять в конце символы «_» по заданию. Ни одного решения нет.
№5.18
string? word = «Патриот»;
char ch = ‘а’;
char ch1 = ‘о’;
int index = word.IndexOf(ch);
int Lastindex = word.LastIndexOf(ch1);
char[] array = word.ToArray();
if (Lastindex >= 0 && index >= 0)
{
char x = array[index];
array[index] = array[Lastindex];
array[Lastindex] = x;
Console.WriteLine(array);
}
else
Console.WriteLine(«таких букв нет совместно»);
Т5.20. Дано слово.
а) Удалить из него третью букву.
б) Удалить из него k-ю букву.
Но ведь так будут удалены 4 и 6 буквы, а не 3 и 4)
Т5.11. Т5.12. Т5.13. Дано слово. Поменять местами его m-ю и n-ю буквы.
Console.Write(«Введите слово: «);
char[] word = Console.ReadLine().ToCharArray();
Console.WriteLine(«Введите номера букв, которые нужно поменять местами (через пробел): «);
int[] nums = Array.ConvertAll(Console.ReadLine().Split(), s => int.Parse(s));
int m = nums[0] — 1, n = nums[1] — 1;
char temp = word[m];
word[m] = word[n];
word[n] = temp;
string outTxt = new string(word);
Console.WriteLine(outTxt);
Наверное, замудрённо, но вроде, работает…
не стоит для ввода m и n создавать массив, судя по коду вы хотели, чтобы m и n вводились на одной строке через пробел, можно было использовать Console.Read() вместо .ReadLine()
Т5.9 T5.8 T5.7 T5.6 T5.5. Дано предложение. Заменить в нем все вхождения подстроки s1 на подстроку s2.
Console.WriteLine(«Введите текст: «);
string txt = Console.ReadLine();
Console.Write(«Введите подстроки S1 и S2 (через пробел): «);
string[] args = Console.ReadLine().Split();
txt = txt.Replace(args[0],args[1]);
Console.WriteLine(txt);
Т5.4. Дано предложение. Все его символы, стоящие на третьем, шестом, девятом и т. д. местах, заменить буквой а.
Если я правильно понял, это то же самое, что и Т5.3, только с тройкой вместо двойки.
Т5.3. Дано предложение. Все его символы, стоящие на четных местах, заменить буквой ы.
Console.WriteLine(«Введите текст: «);
string txt = Console.ReadLine();
string txtOut = «»;
for (int i = 0; i < txt.Length; i++)
txtOut += i % 2 == 0 ? txt[i] : 'ы';
Console.WriteLine(txtOut);
Т5.1. Дано придложинии. Вси буквы и в ним заминить буквой и.
Console.WriteLine(«Введите текст: «);
string txt = Console.ReadLine();
txt = txt.Replace(‘е’, ‘и’);
Console.WriteLine(txt);
Т5.48. Дано слово из 12-ти букв. Переставить его буквы следующим способом: первая, двенадцатая, вторая, одиннадцатая, …, пятая, восьмая, шестая, седьмая.
Антон, верно.
Я так понял задачу.
string word = «abcdefghijkl»;
char[] array = word.ToCharArray();
int n = array.Length;
char z, z12;
for (int i = 0; i <n/2; i++ )
{
z = array[i];
z12 = array[array.Length-1 — i];
Console.Write($»{z}{z12}»);
}
Т5.26. Дано предложение. Удалить из него все буквы о, стоящие на нечетных местах.
Антон, верно.
Т5.17. Дано слово из 15-ти букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами (т. е. с (k + 1)-й по (s – 1)-ю). Значения k и s вводятся с клавиатуры, k < s.
Антон! Верно. Или так:
Создадим метод — частичный реверс в строке, начиная с k-го, d символов
И вызовем его после ввода k,s в Main():
С вашей помощью!
string? word = «abcdefghijklmno»;
Console.WriteLine(«Enter to k (k < s):»);
int k = Convert.ToInt32(Console.ReadLine()) — 1;
Console.WriteLine(«Enter to s (k < s):»);
int s = Convert.ToInt32(Console.ReadLine()) — 1;
string str1 = word.Substring(0, k + 1);
string str3 = word.Substring(s);
string str2 = word.Substring(k+1, s-k-1);
string s1 = string.Empty;
char[] array = str2.ToArray();
Array.Reverse(array);
string s2 = new string(array);
Console.WriteLine(str1+s2+str3);