Т5. Задачи на изменение исходных строковых величин

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Решены задачи 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 голос
Рейтинг статьи
Подписаться
Уведомить о
21 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Т5. Задачи на изменение исходных строковых величин Часть 1

using System;
using System.Text;
//Т5. Задачи на изменение исходных строковых величин
namespace T5
{
    class Program
    {
        static void Clear()
        {
            Console.ReadKey();
            Console.Clear();
        }
        static string Input (string Name)
        {
            Console.WriteLine($"Введите {Name}:");
            string S = "";
            while (S.Length < 1)     
                S = Console.ReadLine();
            return S;
        }
        static void Main()
        {
            //T5.1
            Console.WriteLine("Т5.1. Дано предложение. Все буквы е в нем заменить буквой и.");
            string S1text = Input("предложение");
            S1text = S1text.Replace('е', 'и');
            Console.WriteLine(S1text);
            Clear();
            //T5.2
            Console.WriteLine("Т5.2. Дано предложение. Все пробелы в нем заменить символом «_».");
            string S2text = Input("предложение");
            S2text = S2text.Replace(' ', '_');
            Console.WriteLine(S2text);
            Clear();
            //T5.3
            Console.WriteLine("Т5.3. Дано предложение. Все его символы, стоящие на четных местах, заменить буквой ы.");
            string S3text = Input("предложение");
            for (int a = 1; a < S3text.Length; a += 2)
            {
                S3text = S3text.Remove(a, 1).Insert(a, "ы");
            }
            Console.WriteLine(S3text);
            Clear();
            //T5.4
            Console.WriteLine("Т5.4. Дано предложение. Все его символы, стоящие на третьем, шестом, девятом и т. д. местах, заменить буквой а.");
            string S4text = Input("предложение");
            for (int a = 2; a < S4text.Length; a += 3)
            {
                S4text = S4text.Remove(a, 1).Insert(a, "а");
            }
            Console.WriteLine(S4text);
            Clear();
            //T5.5
            Console.WriteLine("Т5.5. Дано предложение. Заменить в нем все вхождения буквосочетания ах на ух");
            string S5text = Input("предложение");
            S5text = S5text.Replace("ах", "ух");
            Console.WriteLine(S5text);
            Clear();
            //T5.6
            Console.WriteLine("Т5.6. Дано предложение. Заменить в нем все вхождения буквосочетания да на не.");
            string S6text = Input("предложение");
            S6text = S6text.Replace("да","не");
            Console.WriteLine(S6text);
            Clear();
            //T5.7
            Console.WriteLine("Т5.7. Дано предложение. Заменить в нем все вхождения буквосочетания про на нет.");
            string S7text = Input("предложение");
            S7text = S7text.Replace("про", "нет");
            Console.WriteLine(S7text);
            Clear();
            //T5.8
            Console.WriteLine("Т5.8. Дано предложение. Заменить в нем все вхождения буквосочетания бит на рог.");
            string S8text = Input("предложение");
            S8text = S8text.Replace("бит", "рог");
            Console.WriteLine(S8text);
            Clear();
            //T5.9
            Console.WriteLine("Т5.9. Дано предложение. Заменить в нем все вхождения подстроки s1 на подстроку s2.");
            string S9text = Input("предложение");
            string S9s1 = Input("что заменить");
            string S9s2 = Input("чем заменить");
            S9text = S9text.Replace(S9s1, S9s2);
            Console.WriteLine(S9text);
            Clear();
            //T5.10
            Console.WriteLine("Т5.10. Символьной строке s по ошибке вместо опечатка присвоено значение очепатка. Изменить значение s так, чтобы ошибки не было.");
            string S10 = "очепатка";
            Console.WriteLine(S10);
            S10 = S10.Replace("чеп", "печ");
            Console.WriteLine(S10);
            Clear();
            //T5.11
            Console.WriteLine("Т5.11. Дано слово. Поменять местами его вторую и пятую буквы.");
            string S11word="";
            while (S11word.Length<5)
                S11word = Input("слово");
            string S11char2 = S11word[1].ToString();
            string S11char5 = S11word[4].ToString();
            S11word = S11word.Remove(1, 1).Insert(1, S11char5);
            S11word = S11word.Remove(4, 1).Insert(4, S11char2);
            Console.WriteLine(S11word);
            Clear();
            //T5.12
            Console.WriteLine("Т5.12. Дано слово. Поменять местами его третью и последнюю буквы.");
            string S12 = Input("слово");
            string S12char3 = S12[2].ToString();
            string S12charLast = S12[S12.Length - 1].ToString();
            S12 = S12.Remove(2, 1).Insert(2, S12charLast);
            S12 = S12.Remove(S12.Length - 1, 1).Insert(S12.Length-1, S12char3);
            Console.WriteLine(S12);
            Clear();
            //T5.13
            Console.WriteLine("Т5.13. Дано слово. Поменять местами его m-ю и n-ю буквы.");
            string S13word = Input("слово");
            int N13a, N13b;
            while (!(int.TryParse(Input("первую букву на замену:"), out N13a) && N13a <= S13word.Length && N13a > 0)) ;
            while (!(int.TryParse(Input("вторую букву на замену:"), out N13b) && N13b <= S13word.Length && N13b > 0)) ;
            N13a--;
            N13b--;
            string S13charTemp = S13word[N13a].ToString();
            S13word = S13word.Remove(N13a, 1);
            S13word = S13word.Insert(N13a, S13word[N13b-1].ToString());
            S13word = S13word.Remove(N13b, 1);
            S13word = S13word.Insert(N13b, S13charTemp);
            Console.WriteLine(S13word);
            Clear();
            //T5.14
            Console.WriteLine("Т5.14. Дано слово из четного числа букв. Поменять местами первую букву со второй, третью — с четвертой и т. д.");
            StringBuilder S14 = new StringBuilder(" ");
            do
            {
                S14 = S14.Replace(S14.ToString(), Input("слово из четного числа букв"));
            }
            while (S14.Length % 2 == 1) ;
            for (int symbol = 0; symbol < S14.Length; symbol += 2)
            {
                char tempChar = S14[symbol];
                S14 = S14.Remove(symbol, 1);
                S14 = S14.Insert(symbol+1, tempChar);
            }
            Console.WriteLine(S14);
            Clear();
            //T5.15
            Console.WriteLine("Т5.15. Дано слово из четного числа букв. Поменять местами его половины следующим способом: первую букву поменять с последней, вторую — с предпоследней и т. д.");
            StringBuilder S15 = new StringBuilder(" ");
            do
            {
                S15 = S15.Replace(S15.ToString(), Input("слово из четного числа букв"));
            }
            while (S15.Length % 2 == 1);
            for (int symbol = 0; symbol < S15.Length/2; symbol++)
            {
                char tempChar = S15[symbol];
                S15[symbol] = S15[S15.Length - symbol - 1];
                S15[S15.Length - symbol - 1] = tempChar;
            }
            Console.WriteLine(S15);
            Clear();
            //T5.16
            Console.WriteLine("Т5.16. Дано слово из 12-ти букв. Переставить в обратном порядке буквы, расположенные между второй и десятой буквами (т. е. с третьей по девятую).");
            StringBuilder S16 = new StringBuilder(" ");
            do
            {
                S16 = S16.Replace(S16.ToString(), Input("слово из 12 букв"));
            }
            while (S16.Length != 12);
            for (int symbol = 2; symbol < 5; symbol++)
            {
                char tempChar = S16[10 - symbol];
                S16[10 - symbol] = S16[symbol];
                S16[symbol] = tempChar;
            }
            Console.WriteLine(S16);
            Clear();
            //T5.17
            Console.WriteLine("Т5.17. Дано слово из 15-ти букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами (т. е. с (k + 1)-й по (s – 1)-ю). Значения k и s вводятся с клавиатуры, k < s.");
            StringBuilder S17text = new StringBuilder(" ");
            do
            {
                S17text = S17text.Replace(S17text.ToString(), Input("слово состоящее из 15 букв"));
            }
            while (S17text.Length != 15);
            int N17start, N17end;
            while (!(int.TryParse(Input(", с какой буквы начать перестановку"), out N17start) && N17start > 0 && N17start < S17text.Length - 2)) ;
            while (!(int.TryParse(Input(", на какой букве закончить перестановку"), out N17end) && N17end > N17start && N17end < S17text.Length - 1)) ;
            N17end -= 2;
            for (int symbol = 0; symbol <= (N17end - N17start) / 2; symbol++)
            {
                char tempChar = S17text[N17start + symbol];
                S17text[N17start + symbol] = S17text[N17end - symbol];
                S17text[N17end - symbol] = tempChar;
            }
            Console.WriteLine(S17text);
            Clear();
            //T5.18
            Console.WriteLine("Т5.18. Дано слово. Поменять местами первую из букв а и последнюю из букв о. Учесть возможность того, что таких букв в слове может не быть.");
            string S18 = Input("слово");
            int N18indexA = S18.IndexOf('а');
            int N18indexO = S18.LastIndexOf('о');
            if (N18indexA >= 0 && N18indexO >= 0)
            {
                string S18tempChar = S18[N18indexA].ToString();
                S18 = S18.Remove(N18indexA, 1).Insert(N18indexA, S18[N18indexO].ToString());
                S18 = S18.Remove(N18indexO, 1).Insert(N18indexO, S18tempChar);
                Console.WriteLine(S18);
            }
            else
            {
                Console.WriteLine("В слове нет буквы а или о");
            }
            Clear();
            //T5.19
            static string deleteDoubleLetter(string word)
            {
                for (int letter = 0; letter < word.Length; letter++)
                {
                    if (letter < word.Length-1 && word[letter] == word[letter + 1])
                    {
                        word = word.Remove(letter, 1).PadRight(word.Length,'_');
                    }
                }
                return word;
            }
            
            Console.WriteLine("Т5.19. Устранить имеющуюся в заданном слове ошибку: а) дано слово глинянный; б) дано слово граффика.");
            string S19a = "глинянный";
            S19a = deleteDoubleLetter(S19a);
            Console.WriteLine(S19a);
            string S19b = "граффика";
            S19b = deleteDoubleLetter(S19b);
            Console.WriteLine(S19b);
            Clear();

Т5. Задачи на изменение исходных строковых величин Часть 2

            //T5.20
            Console.WriteLine("Т5.20. Дано слово.\nа) Удалить из него третью букву.\nб) Удалить из него k-ю букву.");
            string S20 = Input("слово");
            int N20letter;
            while (!(int.TryParse(Input("номер буквы, которую надо удалить"), out N20letter) && N20letter > 0 && N20letter < S20.Length));
            N20letter--;
            if (N20letter > 2)
                N20letter--;
            S20 = S20.Remove(2, 1).PadRight(S20.Length, '_');
            if (N20letter!=2)
                S20 = S20.Remove(N20letter, 1).PadRight(S20.Length, '_');
            Console.WriteLine(S20);
            Clear();
            //T5.21
            Console.WriteLine("Т5.21. Дано слово. \nа) Удалить из него первую из букв о, если такая буква есть.\nб) Удалить из него последнюю из букв л, если такая буква есть.");
            string S21 = Input("слово");
            int N21o = S21.IndexOf('о');
            if (N21o >= 0)
                S21 = S21.Remove(N21o, 1);
            int N21l = S21.LastIndexOf('л');
            if (N21l >= 0)
                S21 = S21.Remove(N21l, 1);
            Console.WriteLine(S21);
            Clear();
            //T5.22
            Console.WriteLine("Т5.22. Дано слово. Если его длина нечетная, то удалить среднюю букву, в противном случае — две средних буквы.");
            string S22 = Input("слово");
            if (S22.Length % 2 == 1)
                S22 = S22.Remove(S22.Length / 2, 1);
            else
                S22 = S22.Remove(S22.Length / 2 - 1 , 2);
            Console.WriteLine(S22);
            Clear();
            //T5.23
            Console.WriteLine("Т5.23. Дано предложение. Удалить из него все символы с n1-го по n2-й (n1 n2).");
            string S23 = Input("предложение");
            int N23start, N23finish;
            while (!(int.TryParse(Input("с какого символа начать удаление"), out N23start) && N23start > 0 && N23start < S23.Length - 1)) ;
            while (!(int.TryParse(Input("на каком символе закончить удаление"), out N23finish) && N23finish > 1 && N23finish < S23.Length)) ;
            N23start--;
            S23 = S23.Remove(N23start, (N23finish - N23start));
            Console.WriteLine(S23);
            Clear();
            //T5.24
            Console.WriteLine("Т5.24. Дано предложение. Удалить из него все буквы с.");
            StringBuilder S24 = new StringBuilder(Input("предложение"));
            for (int symbol = 0; symbol < S24.Length; symbol++)
            {
                if (S24[symbol] == 'с')
                {
                    S24 = S24.Remove(symbol,1);
                    S24 = S24.Append('_');
                }
            }
            Console.WriteLine(S24);
            Clear();
            //T5.25
            Console.WriteLine("Т5.25. Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, т. е. в слове должны остаться только различные буквы.");
            StringBuilder S25 = new StringBuilder(Input("слово"));
            for (int trySymbol = 0; trySymbol < S25.Length && trySymbol != '_' ; trySymbol++)
            {
                for (int checkSymbol = trySymbol+1; checkSymbol < S25.Length; checkSymbol++)
                {
                    if (S25[trySymbol] == S25[checkSymbol])
                    {
                        S25 = S25.Remove(checkSymbol, 1);
                        S25 = S25.Append('_');
                    }
                }
            }
            Console.WriteLine(S25);
            Clear();
            //T5.26
            Console.WriteLine("Т5.26. Дано предложение. Удалить из него все буквы о, стоящие на нечетных местах.");
            StringBuilder S26 = new StringBuilder(Input("предложение"));
            for (int symbol = 0; symbol < S26.Length; symbol += 2)
            {
                if (S26[symbol] == 'о')
                {
                    S26 = S26.Remove(symbol, 1);
                    S26 = S26.Insert(symbol, '_');
                }
            }
            for (int symbol = 0; symbol < S26.Length; symbol++)
            {
                if (S26[symbol] == '_')
                {
                    S26 = S26.Remove(symbol, 1);
                    S26 = S26.Append('_');
                }
            }
            Console.WriteLine(S26);
            Clear();
            //T5.27
            Console.WriteLine("Т5.27. Проверить, является ли «перевертышем» (см. задачу 9.78) следующая символьная строка после удаления из нее всех пробелов:\nа) АРГЕНТИНА МАНИТ НЕГРА;\nб) ПОТ КАК ПОТОП;\nв) А РОЗА УПАЛА НА ЛАПУ АЗОРА.\nВо всех задачах последние символы «_», полученные после удаления пробелов, не учитывать.");
            int N27var = 1;
            while (N27var <= 3)
            {
                bool B27palindrom = true;
                string S27="";
                switch (N27var)
                {
                    case 1: S27 = "АРГЕНТИНА МАНИТ НЕГРА"; break;
                    case 2: S27 = "ПОТ КАК ПОТОП"; break;
                    case 3: S27 = "А РОЗА УПАЛА НА ЛАПУ АЗОРА"; break;
                }
                for (int symbolSpace = 0; symbolSpace < S27.Length; symbolSpace++)
                {
                    if (S27[symbolSpace] == ' ')
                    {
                        S27 = S27.Remove(symbolSpace,1);
                        symbolSpace--;
                    }
                }
                for (int symbolPolindrom = 0; symbolPolindrom < S27.Length / 2; symbolPolindrom++)
                {
                    if (S27[symbolPolindrom] != S27[S27.Length - 1 - symbolPolindrom])
                        B27palindrom = false;
                }
                Console.WriteLine(B27palindrom ? $"{S27} - палиндром" : $"{S27} - НЕ палиндром") ;
                N27var++;
            }
            Clear();
            //T5.28
            Console.WriteLine("Т5.28. Проверить, является ли некоторая символьная строка «перевертышем» после удаления из нее всех пробелов. Последние символы «_», полученные после удаления пробелов, не учитывать.");
            string S28 = Input("текст");
            S28 = S28.ToUpper();
            S28 = S28.Replace(" ", "");
            bool B28palindrom = true;
            for (int symbol = 0; symbol < S28.Length/2; symbol++)
            {
                if (S28[symbol] != S28[S28.Length - 1 - symbol])
                {
                    B28palindrom = false;
                }
            }
            Console.WriteLine(B28palindrom? $"{S28} - палиндром" : $"{S28} - НЕ палиндром");
            Clear();
            //T5.29
            Console.WriteLine("Т5.29. Дано слово стекляный_. Исправить ошибку в нем.");
            string S29 = "стекляный_";
            S29 = S29.Insert(6, "н").Remove(S29.Length);
            Console.WriteLine(S29);
            Clear();
            //T5.30
            Console.WriteLine("Т5.30. Дана фраза ценая вещь_. Исправить ошибку в ней.");
            string S30 = "ценая вещь_";
            S30 = S30.Replace("н", "нн").Remove(S30.Length);
            Console.WriteLine(S30);
            Clear();
            //T5.31
            Console.WriteLine("Т5.31. Дано слово, оканчивающееся символом «_». Вставить букву т после k-й буквы.");
            string S31;
            do
            {
                S31 = Input("слово, оканчивающееся символом «_»");
            }
            while (S31[S31.Length - 1] != '_');
            int N31k;
            while (!(int.TryParse(Input("после какой бувы вставить букву Т"), out N31k) && N31k > 0 && N31k < S31.Length) );
            S31 = S31.Insert(N31k, "т").Remove(S31.Length);
            Console.WriteLine(S31);
            Clear();  
            //T5.32
            Console.WriteLine("Т5.32. Дано слово, оканчивающееся символом «_». Составить программу, которая вставляет некоторую заданную букву после буквы с заданным номером.");
            string S32;
            do
            {
                S32 = Input("слово, оканчивающееся символом «_»");
            }
            while (S32[S32.Length - 1] != '_');
            string S32latter;
            do
            {
                S32latter = Input("букву, которую нужно вставить");
            }
            while (S32latter.Length != 1);
            int N32place;
            while (!(int.TryParse(Input($"после какой буквы нужно вставить {S32latter}"), out N32place) && N32place > 0 && N32place < S32.Length)) ;
            S32 = S32.Insert(N32place, S32latter).Remove(S32.Length);
            Console.WriteLine(S32);
            Clear();
            //T5.33
            Console.WriteLine("Т5.33. Дано слово, оканчивающееся символом «_». Вставить заданную букву после первой буквы и.");
            string S33;
            do
            {
                S33 = Input("слово, оканчивающееся символом «_»");
            }
            while (S33[S33.Length - 1] != '_');
            string S33char;
            do
            {
                S33char = Input("символ для вставки");
            }
            while (S33char.Length != 1);
            S33 = S33.Insert(S33.IndexOf('и') + 1, S33char).Remove(S33.Length);
            Console.WriteLine(S33);
            Clear();
            //T5.34
            Console.WriteLine("Т5.34. Дано предложение, оканчивающееся символом «_». Вставить заданную букву перед последней буквой и.");
            string S34;
            do
            {
                S34 = Input("слово, оканчивающееся символом «_»");
            }
            while (S34[S34.Length - 1] != '_');
            string S34char;
            do
            {
                S34char = Input("символ для вставки");
            }
            while (S34char.Length != 1);
            S34 = S34.Insert(S34.LastIndexOf('и'), S34char).Remove(S34.Length);
            Console.WriteLine(S34);
            Clear();
            //T5.35
            Console.WriteLine("Т5.35. Путем вставок и удаления символов исправить ошибки:\nа) в слове прроцесор;\nб) во фразе теекстовыйфайл;\nв) во фразе програма и аллгоритм;\nг) во фразе процесор и паммять.");
            string S35 = "прроцесор";
            S35 = S35.Remove(1, 1).Insert(6, "с");
            Console.WriteLine(S35);
            S35 = "теекстовыйфайл";
            S35 = S35.Remove(1, 1).Insert(9, " ");
            Console.WriteLine(S35);
            S35 = "програма и аллгоритм";
            S35 = S35.Insert(6, "м").Remove(13, 1);
            Console.WriteLine(S35);
            S35 = "процесор и паммять";
            S35 = S35.Replace("с", "сс").Replace("мм", "м");
            Console.WriteLine(S35);
            Clear();
            //T5.36
            Console.WriteLine("Т5.36. Дано ошибочно написанное слово рпроцессо. Путем перемещения его букв получить слово процессор.");
            string S36 = "рпроцессо";
            string S36char = S36[0].ToString();
            S36 = S36.Remove(0, 1).Insert(S36.Length-1, S36char);
            Console.WriteLine(S36);
            Clear();
            //T5.37
            Console.WriteLine("Т5.37. Дано слово. Переставить его первую букву на место последней. При этом вторую, третью, …, последнюю буквы сдвинуть влево на одну позицию.");
            string S37 = Input("слово");
            string S37char = S37[0].ToString();
            S37 = S37.Remove(0, 1).Insert(S37.Length - 1, S37char);
            Console.WriteLine(S37);
            Clear();
            //T5.38
            Console.WriteLine("Т5.38. Дано ошибочно написанное слово иинформаця. Путем перемещения его букв получить слово информация.");
            string S38 = "иинформаця";
            string S38char = S38[0].ToString();
            S38 = S38.Remove(0, 1).Insert(S38.Length - 2, S38char);
            Console.WriteLine(S38);
            Clear();
            //T5.39
            Console.WriteLine("Т5.39. Дано слово. Переставить его первую букву на место k-й. При этом вторую, третью, …, k-ю буквы сдвинуть влево на одну позицию.");
            string S39 = Input("слово");
            string S39char = S39[0].ToString();
            int N39place;
            while (!(int.TryParse(Input("место, куда следует вставить букву"), out N39place) && N39place > 0 && N39place <= S39.Length)) ;
            N39place--;
            S39 = S39.Remove(0, 1).Insert(N39place, S39char);
            Console.WriteLine(S39);
            Clear();
            //T5.40
            Console.WriteLine("Т5.40. Дано ошибочно написанное слово алигортм. Путем перемещения его букв получить слово алгоритм.");
            string S40 = "алигортм";
            string S40char = S40[2].ToString();
            S40 = S40.Remove(2, 1).Insert(5, S40char);
            Console.WriteLine(S40);
            Clear();
            //T5.41
            Console.WriteLine("Т5.41. Дано слово. Переставить его s-ю букву на место k-й (s < k). При этом (s + 1)-ю, (s + 2)-ю, …, k-ю буквы сдвинуть влево на одну позицию.");
            string S41 = Input("слово");
            int N41source, N41target;
            while (!(int.TryParse(Input("какую букву переставить"), out N41source) && N41source > 0 && N41source < S41.Length-1)) ;
            N41source--;
            while (!(int.TryParse(Input("куда переставить букву"), out N41target) && N41target > N41source && N41target < S41.Length)) ;
            N41target--;
            string S41char = S41[N41source].ToString();
            S41 = S41.Remove(N41source, 1).Insert(N41target, S41char);
            Console.WriteLine(S41);
            Clear();
            //T5.42
            Console.WriteLine("Т5.42. Дано ошибочно написанное слово роцессорп. Путем перемещения его букв получить слово процессор.");
            string S42 = "роцессорп";
            string S42char = S42[S42.Length - 1].ToString();
            S42 = S42.Remove(S42.Length - 1).Insert(0, S42char);
            Console.WriteLine(S42);
            Clear();
            //T5.43
            Console.WriteLine("Т5.43. Дано слово. Переставить его последнюю букву на место первой. При этом первую, вторую, …, предпоследнюю буквы сдвинуть вправо на одну позицию.");
            string S43 = Input("слово");
            string S43char = S43[S43.Length - 1].ToString();
            S43 = S43.Remove(S43.Length - 1).Insert(0, S43char);
            Console.WriteLine(S43);
            Clear();
            //T5.44
            Console.WriteLine("Т5.44. Дано ошибочно написанное слово ИТЕРНЕТН. Путем перемещения его букв получить слово ИНТЕРНЕТ.");
            string S44 = "ИТЕРНЕТН";
            string S44char = S44[S44.Length - 1].ToString();
            S44 = S44.Remove(S44.Length - 1).Insert(1, S44char);
            Console.WriteLine(S44);
            Clear();
            //T5.45
            Console.WriteLine("Т5.45. Дано слово. Переставить его последнюю букву на место k-й. При этом k-ю, (k + 1)-ю, …, предпоследнюю буквы сдвинуть вправо на одну позицию.");
            string S45 = Input("слово");
            string S45char = S45[S45.Length - 1].ToString();
            int N45place;
            while (!(int.TryParse(Input("место, куда нужно переместить последнюю букву"), out N45place) && N45place > 0 && N45place < S45.Length)) ;
            N45place--;
            S45 = S45.Remove(S45.Length - 1).Insert(N45place, S45char);
            Console.WriteLine(S45);
            Clear();
            //T5.46
            Console.WriteLine("Т5.46. Дано ошибочно написанное слово килбайот. Путем перемещения его букв получить слово килобайт.");
            string S46 = "килбайот";
            string S46char = S46[6].ToString();
            S46 = S46.Remove(6, 1).Insert(3, S46char);
            Console.WriteLine(S46);
            Clear();
            //T5.47
            Console.WriteLine("Т5.47. Дано слово. Переставить его s-ю букву на место k-й (s > k). При этом k-ю, (k + 1)-ю, …, (s – 1)-ю буквы сдвинуть вправо на одну позицию.");
            string S47 = Input("слово");
            int N47source, N47target;
            while (!(int.TryParse(Input("какую букву сдвинуть"), out N47source) && N47source > 0 && N47source <= S47.Length)) ;
            N47source--;
            while (!(int.TryParse(Input("куда поставить букву"), out N47target) && N47target > 0 && N47target < N47source)) ;
            N47target--;
            string S47char = S47[N47source].ToString();
            S47 = S47.Remove(N47source, 1).Insert(N47target, S47char);
            Console.WriteLine(S47);
            Clear();
            //T5.48
            Console.WriteLine("Т5.48. Дано слово из 12-ти букв. Переставить его буквы следующим способом: первая, двенадцатая, вторая, одиннадцатая, …, пятая, восьмая, шестая, седьмая.");
            string S48;
            do
            {
                S48 = Input("слово из 12-ти букв");
            }
            while (S48.Length != 12);
            for (int symbol = 1; symbol < S48.Length / 2; symbol++)
            {
                string tempChar = S48[S48.Length - 1].ToString();
                S48 = S48.Remove(S48.Length - 1).Insert(symbol * 2 - 1, tempChar);
            }
            Console.WriteLine(S48);
            Clear();
        }
    }
}

Т5.29. Дано слово стекляный_. Исправить ошибку в нем.

string word = «стекляный_»;
string h = «н»;
word = word.Insert(6, h);
Console.Write(word);

Последний раз редактировалось 1 год назад Евгений ем

№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(«таких букв нет совместно»);

Последний раз редактировалось 1 год назад Евгений ем

Т5.20. Дано слово.
а) Удалить из него третью букву.
б) Удалить из него k-ю букву.

static void Main(string[] args)
        {
            string str = "dfghfgjfghdsh";
            int k = 4;
            Console.WriteLine(str);
            str=str.Remove(3, 1);
            Console.WriteLine(str);
            str = str.Remove(k, 1);
            Console.WriteLine(str);
        }

Но ведь так будут удалены 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 str = "123456789ABC";
char[] ch = str.ToCharArray();
int n = ch.Length;
char z;
for (int j = 0; j < n-1; j+=2)
{
   z = ch[j];
   ch[j] = ch[n - j - 1];
   ch[n- j - 1] = z;
}
Console.WriteLine(ch);
Важно: Вы можете поддержать проект и автора.

Я так понял задачу.

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. Дано предложение. Удалить из него все буквы о, стоящие на нечетных местах.

string s = "o2o45o67o";
string b = String.Empty;
char[] a = s.ToCharArray();
for (int i = 0; i < a.Length; i++)
   if (!(a[i] == 'o' && i % 2 == 0))
      b += a[i];
Console.WriteLine(b);
Важно: Вы можете поддержать проект и автора.

Т5.17. Дано слово из 15-ти букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами (т. е. с (k + 1)-й по (s – 1)-ю). Значения k и s вводятся с клавиатуры, k < s.

string str = «0123456789ABCDE»;
int m, n, k, s;
do
{
   Console.Write(«Введите номер индекса k: «);
   k = Convert.ToInt32(Console.ReadLine());
   Console.Write(«Введите номер индекса s: «);
   s = Convert.ToInt32(Console.ReadLine());
   if (k >= s)
      Console.WriteLine(«Некорректный ввод. Должно выполняться условие k <  s»);
}
while (k >= s);
string str1 = str.Substring(0, k + 1);
string str2 = str.Substring(s);
string a, b;
Console.WriteLine(str);
str = str.Substring(k + 1, s — k — 1);
for (m = 0; m < str.Length / 2; m++)
{
   n = str.Length - 1 - m;
   a = Convert.ToString(str[n]);
   b = Convert.ToString(str[m]);
   str = str.Insert(m, a);
   str = str.Remove(m + 1, 1);
   str = str.Insert(n, b);
   str = str.Remove(n + 1, 1);
}
str = String.Concat(str1, str, str2);
Console.WriteLine(str);
Важно: Вы можете поддержать проект и автора.

С вашей помощью!

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);

21
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x