Удалить слова с нечетными номерами и перевернуть слова с четными номерами - C#
Формулировка задачи:
Здравствуйте. У меня возникла проблема в следующем задании:
Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.
Пример:
Ввод: 12345shown#%765 qwerty0228michaels@
Вывод: ytrewq
Вот фрагмент "программы":
Проблема:
В скриншоте видно, что программа удаляет первые 3 символа (delete_space), которые не являются буквами, а также удаление нечетного слова состоящего из 4 символов (4 раза вывел if_del )
Почему же программа не работает дальше?
byte chet = 1; // Эта переменная будет отвечать за определение четного/нечетного слова. int j = 1; String s = "", outstr = "", vsp = ""; // 2 последние переменные для обезьяньего вывода перевернутого слова Console.WriteLine("Введите строку"); s = Console.ReadLine(); while (!String.IsNullOrEmpty(s)) { while (!(Char.IsLetter(s, 0))) // цикл для удаление лишних символов (не букв) { Console.WriteLine("delete_space"); // так я пытался определять где застревало выполнение программы s = s.Remove(0,1); } if (chet % 2 == 1) { while (Char.IsLetter(s, 0)) { Console.WriteLine("if_del"); // Еще один индикатор s = s.Remove(0,1); } chet++; } else // здесь должно было происходить переворачивание четного слова { while (Char.IsLetter(s, 0)) { Console.WriteLine("reverse"); // vsp += s[0]; s = s.Remove(0,1); } for (j = vsp.Length; j >= 0; j--) { outstr += vsp[j]; } Console.WriteLine(outstr); outstr = vsp = ""; chet++; } Console.ReadLine();
Решение задачи: «Удалить слова с нечетными номерами и перевернуть слова с четными номерами»
textual
Листинг программы
string input = "оп опа тра та таа"; var words = input.Split().Where((item, index) => index % 2 == 0).Select(x => string.Join("",x.Reverse())); string output = string.Join(" ", words); Console.WriteLine(output); Console.ReadKey();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д