Текст самого задания: Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.
Вот мой код:
public static void DelSubStr(ref string s)
{
int count = 1;
foreach (string ch in s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))
{
if (count == 1)
{
s = s.Remove(0, s.Length);
}
if (count % 2 == 0)
{
s += ReverseString(ch);
s += " ";
}
count++;
}
}
public static string ReverseString (string s)
{
char[] arr = s.ToCharArray();
Array.Reverse(arr);
return new string(arr);
}
Препод сказал сделать тоже самое, только без использования подстроки. Как это можно сделать, подскажите пожалуйста)
Ну, например, вот так
public static string DelSubStr(string s)
{
var sb = new StringBuilder();
var stack = new Stack<char>();
var curr = 0;
while (curr < s.Length)
{
while (curr < s.Length && s[curr] == ' ') curr++;
while (curr < s.Length && s[curr] != ' ') curr++;
while (curr < s.Length && s[curr] == ' ') curr++;
while (curr < s.Length && s[curr] != ' ')
{
stack.Push(s[curr]);
curr++;
}
if (stack.Count > 0 && sb.Length > 0) sb.Append(' ');
while (stack.Count > 0) sb.Append(stack.Pop());
}
return sb.ToString();
}
Проверка
Console.WriteLine(DelSubStr(" nechotnoe chotnoe nechotnoe chotnoe "));
Ожидаемо выводит
eontohc eontohc
Даешь linq-однострочник
public static string DelSubStr(string s)
{
return string.Join(" ", s.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries)
.Where((x, i) => i % 2 == 0)
.Select(x => new string(x.Reverse().ToArray())));
}
Проверка
Console.WriteLine(DelSubStr(" nechotnoe chotnoe nechotnoe chotnoe "));
Результат
eontohc eontohc
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть 2 таблицы, из одной я могу выбрать список нужных мне id:
Подскажите пожалуйста, есть код, в этом коде, происходит разложение текста в массив, после чего идет проверка текста с изменением его согласно...
Есть таблица Фильмов,Актеров и таблица соединяющая ид фильма и ид актераЕсть разметка