C#

С# пожалуйста помогите

Создать приложение, которое на вход будет получать строку.

Если строка будет иметь чётное количество символов, то программа должна разделить её на две подстроки, каждую подстроку перевернуть и соединять обратно обе подстроки в одну строку.

Если входная строка будет иметь нечётное количество символов, то программа должна перевернуть эту строку и к ней добавить изначальную строку, которую ввёл пользователь.

Далее вернуть пользователю обработанную строку.
Если совсем коротко, буквально в две строчки:
 string s = Console.ReadLine(); 
Console.WriteLine((s.Length & 1) == 0 ? s.ToCharArray().Take(s.Length >> 1).Reverse().Concat(s.ToCharArray().Skip(s.Length >> 1).Reverse()).Aggregate(string.Empty, (x, y) => x += y) : s.ToCharArray().Reverse().Aggregate(string.Empty, (x, y) => x += y) + s);
Вадим Горбочевский
Вадим Горбочевский
80 824
Лучший ответ
 using System; 
class Program {
static void Main() {
Console.Write(">>> ");
var line = Console.ReadLine();
if (line.Length % 2 != 0) {
line = ReverseString(line) + line;
} else {
var mid = line.Length / 2;
var head = ReverseString(line.Substring(0, mid));
var tail = ReverseString(line.Substring(mid));
line = head + tail;
}
Console.WriteLine("
Руслан Асланов
Руслан Асланов
84 127
юзай чат гпт
 using System; 

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите строку:");
string input = Console.ReadLine();
string processedString = ProcessString(input);
Console.WriteLine("Обработанная строка: " + processedString);
}

static string ProcessString(string input)
{
string processedString;

if (input.Length % 2 == 0) // Чётное количество символов
{
int halfLength = input.Length / 2;
string firstHalf = input.Substring(0, halfLength);
string secondHalf = input.Substring(halfLength);
string reversedFirstHalf = ReverseString(firstHalf);
string reversedSecondHalf = ReverseString(secondHalf);
processedString = reversedFirstHalf + reversedSecondHalf;
}
else // Нечётное количество символов
{
string reversedInput = ReverseString(input);
processedString = reversedInput + input;
}

return processedString;
}

static string ReverseString(string input)
{
char[] charArray = input.ToCharArray();
Array.Reverse(charArray);
return new string(charArray);
}
}
В этом примере мы считываем строку от пользователя, передаем ее в метод ProcessString, где выполняется требуемая обработка в соответствии с вашими условиями. Затем обработанная строка выводится на экран.

Метод ProcessString проверяет, имеет ли входная строка четное количество символов. Если да, то она разделяется на две половины, каждая из них переворачивается с помощью метода ReverseString, а затем объединяется обратно в одну строку.

Если входная строка имеет нечетное количество символов, она переворачивается с помощью метода ReverseString, а затем к ней добавляется исходная строка.

Метод ReverseString принимает входную строку, преобразует ее в массив символов, переворачивает массив с помощью метода Array.Reverse и возвращает новую строку, созданную из перевернутого массива символов.
//----
хз рабочее или нет
Manat Shaidikeshov спасибо