Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2019, 20:54   #1
smail-2017@list.ru
 
Регистрация: 11.05.2019
Сообщений: 9
По умолчанию с использованием класса stringbuilder

Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами первую и последнюю буквы каждого слова.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace ConsoleApp9
{
    class Program
    {
        static void Main(string[] args)
        {
            string stroka = Console.ReadLine();
          
        
            string[] convert = stroka.Split();



            StringBuilder stroka0, stroka1 = null;
            foreach (string word in convert)
            {
                 stroka0 = new StringBuilder(word);

                stroka0.Replace(stroka0[0], stroka0[stroka0.Length - 1]);


                Console.WriteLine(stroka0);

            }

            foreach (string word1 in convert)
            {
                stroka1 = new StringBuilder(word1);
           

                stroka1.Replace( stroka1[stroka1.Length - 1], stroka1[0]);
            }

               


                Console.WriteLine(stroka1);
            Console.ReadLine();
            }
          


        }
    }
Ну типо нужно все в одно слово сделать (ПРИВЕТ-ТРПИВЕП) вот так я понимаю но оно так не хочет слаживать это нельзя

Последний раз редактировалось smail-2017@list.ru; 30.10.2019 в 20:57. Причина: Пояснения
smail-2017@list.ru вне форума Ответить с цитированием
Старый 01.11.2019, 10:41   #2
ipphone-sa
Новичок
Джуниор
 
Аватар для ipphone-sa
 
Регистрация: 06.02.2014
Сообщений: 1
По умолчанию

Код:
private string StartLiterLast(string str)
{
	var res = "";

	var st = str[0].ToString();
	res = str[str.Length - 1].ToString();

	str = str.Remove(0, 1);
	str = str.Remove(str.Length - 1, 1);

	res += str + st;

	return res;
}

Код:

var str = "ПРИВЕТ МИР";

// Строку в массив строу (разделитель пробел)
var arr = str.Split(' ');

for (int i = 0; i <  arr.Length; i++)
{
	arr[i] = StartLiterLast(arr[i]);
}


Пример использования
ipphone-sa вне форума Ответить с цитированием
Старый 01.11.2019, 15:57   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Код:
internal class Program
    {
        private static void Main(string[] args)
        {
            var builder = new StringBuilder(Console.ReadLine());
            var startWordIndex = SkipSpaces(builder, 0);
            if (startWordIndex >= 0)
            {
                for (var i = 0; i < builder.Length; i++)
                {
                    var prevIndex = i - 1;
                    if (builder[i] == ' ' && prevIndex > startWordIndex)
                    {
                        FlipChars(builder, startWordIndex, prevIndex);
                        startWordIndex = SkipSpaces(builder, i);
                        if(startWordIndex<0)
                            break;
                    }
                }

                if (startWordIndex > 0)
                    FlipChars(builder, startWordIndex, builder.Length - 1);
            }

            Console.WriteLine(builder);
            Console.ReadKey();
        }

        private static int SkipSpaces(StringBuilder str, int currentIndex)
        {
            for (var i = currentIndex; i < str.Length; ++i)
                if (str[i] != ' ')
                    return i;

            return -1;
        }

        private static void FlipChars(StringBuilder str, int startWordIndex, int prevIndex)
        {
            var ch = str[startWordIndex];
            str[startWordIndex] = str[prevIndex];
            str[prevIndex] = ch;
        }
    }
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7, создание функционального калькулятора с использованием класса ulala Помощь студентам 16 27.03.2013 23:00
создание списка с использованием класса rockfun Общие вопросы C/C++ 3 25.02.2013 19:53
Создание стека с использованием класса. studen Visual C++ 5 21.01.2013 10:20
Программа с использованием класса ClasterON Помощь студентам 8 19.01.2012 09:37
СИ++: перевод рублей в копейки (с использованием класса) SvetOk Помощь студентам 1 09.05.2010 22:18