Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 11.11.2022
Сообщений: 126

Спичрайтер для магистра Йоды

06.05.2023, 21:59. Показов 839. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем известно, что у каждого важного общественного деятеля есть собственный спичрайтер – существо, помогающее подготовить публичную речь, сделать ее более выразительной и интересной. Глава Ордена джедаев магистр Йода не исключение.
На первый взгляд может показаться, что спичрайтеру Йоды приходится тяжелее других: все-таки речь магистра своеобразна и ее изучение требует серьезных усилий. На самом деле все несколько проще. Спичрайтеру Йоды достаточно сначала придумать речь для обычного человека, после чего поменять порядок слов в каждом предложении на обратный. В силу того, что алгоритм преобразования обычной речи в речь магистра Йоды достаточно однообразен, спичрайтер решил автоматизировать этот процесс и попросил вас написать программу, которая будет преобразовывать речь, составленную им для обычного человека в речь для Йоды.
В единственной строке входного файла задана речь, составленная спичрайтером. Речь состоит из предложений, отделенных друг от друга точками (точка ставится сразу после последнего слова в предложении).
Каждое предложение состоит из слов. Предложение содержит по крайней мере одно слово. Соседние слова разделены ровно одним пробелом. Слово – непустая последовательность строчных латинских букв. Строка не содержит лишних пробелов. Гарантируется, что строка не пуста и ее длина не превосходит 20000 символов.

Пример ввода

you should solve this problem. its easy.

Вывод:

problem this solve should you. easy its.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2023, 21:59
Ответы с готовыми решениями:

В одной строке выведите преобразованную для Йоды речь в соответствии с форматом входных данных
Всем известно, что у каждого важного общественного деятеля есть собственный спичрайтер – существо, помогающее подготовить публичную речь,...

Диплом Магистра
День добрый, Господа Я вот ломаю уже неделю себе голову - что можно высосать из objective-c/ios связки на дипломную работу, все никак не...

Нужен ли диплом магистра в фронтенде?
Вопрос конечно не совсем по теме, но все же я думаю он может быть актуален здесь для многих. Настало время думать о магистратуре и, честно...

8
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
06.05.2023, 23:24
Лучший ответ Сообщение было отмечено ЛдИг как решение

Решение

Одну строчку кода спичрайтер мог и сам набрать.

C#
1
2
3
4
5
using System;
using System.Linq;
 
Console.WriteLine(string.Join(". ", Console.ReadLine().Split(".").Select(x => string.Join(" ", x.Split(" ").SkipWhile(w => w == "").Reverse()))));
Console.ReadKey();
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
07.05.2023, 13:50
Цитата Сообщение от ЛдИг Посмотреть сообщение
спичрайтер решил автоматизировать этот процесс
Спичрайтер решил добровольно лишиться работы? Где логика?
0
08.05.2023, 00:32

Не по теме:

Цитата Сообщение от nicolas2008 Посмотреть сообщение
Спичрайтер решил добровольно лишиться работы? Где логика?
Звездные войны и логика? Ну-ну...

0
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,384
08.05.2023, 14:13
Решение есть в разделе похожие темы внизу страницы
0
1197 / 766 / 128
Регистрация: 10.03.2012
Сообщений: 4,950
11.05.2023, 11:07
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
 
class Program {
  static void Main() {
    string s = "you should solve this problem. its easy.";
            var mas = s.Split('.');
            bool isFirst = true;
            foreach (var item in mas)
            {
                if (item.Length > 0)
                {
                    var temp = item.Split(' ');
                    for (int i = temp.Length - 1; i >= 0; i--)
                    {
                        if (isFirst)
                        {
                            Console.Write(temp[i]);
                            isFirst = false;
                        }
                        else
                            Console.Write(' ' + temp[i]);         
                    }
                Console.Write(".");
            } 
        }
    }
}
Code
1
problem this solve should you. easy its .
Почему в конце перед точкой добавляется пробел?

Добавлено через 11 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
 
class Program {
  static void Main() {
    string s = "you should solve this problem. its easy.";
            string[] mas = s.Split('.');
            foreach (var item in mas)
            {
                if (item.Length > 0)
                {
                    string[] temp = item.Split(' ');
                    for (int i = temp.Length - 1; i >= 0; i--)
                    {
                        Console.Write("{0} ", temp[i]);         
                    }
                Console.Write(".");
            }
        }
    }
}
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
11.05.2023, 12:49
Цитата Сообщение от Whitecolor Посмотреть сообщение
Почему в конце перед точкой добавляется пробел?
после Split('.') вы получаете " its easy", далее Split(' ') даст массив new [] { "", "its", "easy"}
0
1197 / 766 / 128
Регистрация: 10.03.2012
Сообщений: 4,950
11.05.2023, 13:01
Цитата Сообщение от Wolfdp Посмотреть сообщение
после Split('.') вы получаете " its easy", далее Split(' ') даст массив new [] { "", "its", "easy"}
Да, надо ещё проверку делать на temp.Length > 0
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
11.05.2023, 13:45
Цитата Сообщение от Whitecolor Посмотреть сообщение
надо ещё проверку делать на temp.Length > 0
C#
1
.Split(new char[] { '.'}, StringSplitOptions.RemoveEmptyEntries)
Добавлено через 13 минут
А можно вот так:

C#
1
2
3
4
5
6
string s = "you should solve this problem. its easy.";
 
var t1 = s.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(l => l.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Reverse())
                .Select(sp => sp.Aggregate((a, b) => a + " " + b).Trim() + ". ")
                .Aggregate((a, b) => a.Trim() + " " + b).Trim();
на выходе:

"problem this solve should you. easy its."
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2023, 13:45
Помогаю со студенческими работами здесь

Нужна ли степень магистра разработчику?
Добрый день. У меня есть образование, я бакалавр. Сейчас работаю и пытаюсь учиться в магистратуре. В связи с работой у меня это плохо...

Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++
Сейчас обучаюсь стандарту си++ 2011. Подскажите новичку, чего выбрать? Есть небольшой опыт работы в qt, в линуксе ничего еще не умею делать.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru