0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17

Вывести часть строки от предпоследней запятой до первой точки и определить количество слов, заканчивающихся на -ит

10.06.2023, 11:30. Показов 1128. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять как реализовать программу такого типа: Дана строка символов. Вывести часть строки от предпоследней запятой до первой точки и определить количество слов, заканчивающихся на -ит.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2023, 11:30
Ответы с готовыми решениями:

Как реализовать программу для такого класса?
class IntegerFunctions { public static long changeLastFirst(long num) { char cArray =...

Не могу открыть файл типом .py "Использовать выбранную программу для всех файлов такого типа"
Сделал текстовый документ типом .py, потом случайно открыл его с помощью cmd консоль c галочкой "Использовать выбранную программу для...

Не могу понять.(Создать программу которая создает файл из неопределенного количества типа integer)
Тут задача мне была задана"Создать программу которая создает файл из неопределенного количества типа integer " я сделал так ...

20
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 13:33
Лучший ответ Сообщение было отмечено limbro как решение

Решение

Цитата Сообщение от limbro Посмотреть сообщение
определить количество слов, заканчивающихся на -ит.
Во всем тексте или только от предпоследней запятой до первой точки?

Добавлено через 6 минут
Как-то так...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    string input = """
            Это первое, предложение, это второе предложенит, и это третье предложение. 
            Здесь есть слова, которые заканчиваются на -ит, а также другие слова.
            """;
    // Вывести часть строки от предпоследней запятой до первой точки.
    var sentences = input.Split ('\n', StringSplitOptions.RemoveEmptyEntries)
                            .Select (i => i.Trim())
                            .ToArray();
    int index = String.Join("", sentences[0].Take( sentences[0].LastIndexOf(',') - 1)).LastIndexOf(',');
    Console.WriteLine( String.Join("", sentences[0].Skip(index + 1)).Trim() );
 
    // Найти количество слов (во всем тексте), заканчивающихся на "ит" во всем тексте.
    int count = input.Split (new char[] { ' ', ',', '.' }, 
                                    StringSplitOptions.RemoveEmptyEntries)
                        .Count (word => word.EndsWith ("ит"));
    Console.WriteLine ($"Количество слов, заканчивающихся на \"ит\": {count}");
 
    // Найти количество слов (в первом предложение), заканчивающихся на "ит" во всем тексте.
    int count2 = sentences[0].Split (new char[] { ' ', ',' },
                                    StringSplitOptions.RemoveEmptyEntries)
                        .Count (word => word.EndsWith ("ит"));
    Console.WriteLine ($"Количество слов первом предложение, заканчивающихся на \"ит\": {count2}");
0
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 13:39  [ТС]
Цитата Сообщение от Doomov Посмотреть сообщение
Во всем тексте или только от предпоследней запятой до первой точки?

Добавлено через 6 минут
Как-то так...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    string input = """
            Это первое, предложение, это второе предложенит, и это третье предложение. 
            Здесь есть слова, которые заканчиваются на -ит, а также другие слова.
            """;
    // Вывести часть строки от предпоследней запятой до первой точки.
    var sentences = input.Split ('\n', StringSplitOptions.RemoveEmptyEntries)
                            .Select (i => i.Trim())
                            .ToArray();
    int index = String.Join("", sentences[0].Take( sentences[0].LastIndexOf(',') - 1)).LastIndexOf(',');
    Console.WriteLine( String.Join("", sentences[0].Skip(index + 1)).Trim() );
 
    // Найти количество слов (во всем тексте), заканчивающихся на "ит" во всем тексте.
    int count = input.Split (new char[] { ' ', ',', '.' }, 
                                    StringSplitOptions.RemoveEmptyEntries)
                        .Count (word => word.EndsWith ("ит"));
    Console.WriteLine ($"Количество слов, заканчивающихся на \"ит\": {count}");
 
    // Найти количество слов (в первом предложение), заканчивающихся на "ит" во всем тексте.
    int count2 = sentences[0].Split (new char[] { ' ', ',' },
                                    StringSplitOptions.RemoveEmptyEntries)
                        .Count (word => word.EndsWith ("ит"));
    Console.WriteLine ($"Количество слов первом предложение, заканчивающихся на \"ит\": {count2}");
Да, только от предпоследней запятой до первой точки.

На вход подается строка типа: home,door,float.
Но может быть такая комбинация: home,door.float.
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 13:54
Цитата Сообщение от limbro Посмотреть сообщение
На вход подается строка типа: home,door,float.
Но может быть такая комбинация: home,door.float.
И? Что должно быть на выходе? Поменять точку на запятую?
И какие слова на "ит"? если вы пишите на английском?
Дайте точный текст входа: input
И точно, что сделать

Добавлено через 5 минут
Цитата Сообщение от limbro Посмотреть сообщение
home,door.float.
То есть float в этом случае откидываем?
0
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 13:55  [ТС]
часть строки от предпоследней запятой до первой точки и определить количество слов, заканчивающихся на -ит.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 13:57

Не по теме:

Doomov, похоже автор немного door-ит ))


3
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 13:58  [ТС]
да, все верно, float откидываем
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 14:11
Цитата Сообщение от limbro Посмотреть сообщение
да, все верно, float откидываем
И? Где оригинал текста? Поймите: есть, задача его обработать, тем или иным образом. Что-то с ним "сделать". Для этого обычно и создается программа. Поэтому я прошу оригинал текста. Пусть хоть набор слов. Но какой текст?
0
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 14:13  [ТС]
огонь,солнце,дымит,воздух.

как пример для input
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 14:18
Вам такой ответ нужен?
C#
1
2
    дымит,воздух
    Количество слов первом предложение, заканчивающихся на "ит": 1
А вы программу проверяли?
0
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 14:20  [ТС]
все верно
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 14:21
Цитата Сообщение от limbro Посмотреть сообщение
все верно
Так программа работает?
0
0 / 0 / 0
Регистрация: 11.04.2020
Сообщений: 17
10.06.2023, 14:24  [ТС]
да,все работает.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 14:31
Цитата Сообщение от Doomov Посмотреть сообщение
Так программа работает?
C#
1
string s = "огонь,солнце.дымит,воздух.";
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 14:47
Лишние LINQ-комбинации можно упростить на:
C#
1
2
3
4
5
string[] Thread3114452(string str)
{
    int idx = str.LastIndexOf(',');
    return str[++idx..str.IndexOf('.')].Split();
}
C#
1
2
3
4
5
6
7
8
9
10
string[] TestString =
{
    "home,door,float.",
    "home,door.float.",
    "огонь,солнце,дымит,воздух.",
    "огонь,солнце,дымит home воздух."
};
 
foreach (string str in TestString)
    Console.WriteLine(string.Join(" ", Thread3114452(str)));
Изображения
 
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 14:49
.. Доработав метод до правильной выборки из строки типа "огонь,солнце.дымит,воздух."
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 15:02
Цитата Сообщение от wizard41 Посмотреть сообщение
до правильной выборки из строки типа "огонь,солнце.дымит,воздух."
Подправил пока свой вариант...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string input = "огонит,огонь,огонит,солнце.дымит,воздух.";
 
    // Вывести часть строки от предпоследней запятой до первой точки.
    var sentences = input.Split (new char[] { '.', '\n' }, 
                                    StringSplitOptions.RemoveEmptyEntries)
                            .Select (i => i.Trim())
                            .ToArray();
    
    if (sentences [0].Where(e => e == ',').Count() > 1)
    {
        int index = String.Join ("", sentences [0].Take (sentences [0].LastIndexOf (',') - 1)).LastIndexOf (',');
        Console.WriteLine (String.Join ("", sentences [0].Skip (index + 1)).Trim());
    }
    else
        Console.WriteLine ("До первой точки одна запятая: " + String.Join ("", sentences [0].Trim()));
    
 
    // Найти количество слов (в первом предложение), 
    // заканчивающихся на "ит" во всем тексте.
    int count2 = sentences [0].Split (',', StringSplitOptions.RemoveEmptyEntries)
                        .Count (word => word.EndsWith ("ит"));
    Console.WriteLine ($"Количество слов первом предложение, заканчивающихся на \"ит\": {count2}");
Еще я понял, что нужна первое предложение... То в твоем wizard41, случае вывести только первую строку. Могу ошибаться

Добавлено через 7 минут
Цитата Сообщение от wizard41 Посмотреть сообщение
.. Доработав метод до правильной выборки из строки..."
Обратил внимание...
Ответ в твоем примере по условию задания должен быть (вывод)...
C#
1
2
3
4
door,float
home,door
дымит,воздух
солнце,дымит home воздух
По условию задачи: Вывести часть строки от предпоследней запятой до первой точки
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 15:10
Цитата Сообщение от Doomov Посмотреть сообщение
Вывести часть строки от предпоследней запятой до первой точки
А, ну да. От предпоследней. Ну смысла особого не меняет - легко исправить.
Посыл был в том, чтобы убрать нагромождение linq.
1
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
10.06.2023, 15:12
Цитата Сообщение от wizard41 Посмотреть сообщение
Ну. А у меня что выводит? ))
float
door
воздух
дымит home воздух
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3319 / 2558 / 564
Регистрация: 04.09.2018
Сообщений: 8,150
Записей в блоге: 3
10.06.2023, 15:15
Цитата Сообщение от Doomov Посмотреть сообщение
случае вывести только первую строку
Из каждой строки массива тестовых строк выводятся подстроки.

Добавлено через 41 секунду
Цитата Сообщение от Doomov Посмотреть сообщение
А у меня что выводит?
Да, увидел уже. Поправил тот пост.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2023, 15:15
Помогаю со студенческими работами здесь

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

не могу понять как реализовать запрос
Здравствуйте, не могу понять как реализовать запрос. Итак, имеется таблица с id обекта и параметр характеристики. Необходимо...

Не могу понять как реализовать следующее
https://jsfiddle.net/b6km9u0e/2/ Добавляем класс 'mobile' к блоку content_main Как получить результат следующий, все блоки...

Связь в БД, не могу понять как ее реализовать в sql
Здравствуйте, подскажите пожалуйста как реализовать эту связь которая обведена красным.

Обьясните, не могу понять как реализовать код
А)Создание файла со списком файлов заданного расширения на заданном диске. Б)Сохранение в текстовом файле списка специальных папок. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Хак домофона или как открыть дверь по номеру
yariko 25.06.2025
Забыли дома ключ. Не проблема. Можно открыть дверь домофона, просто позвонив на свой номер квартиры. Идея состоит в следующем. Внутрь трубки абонента встраивается контроллер, который по звонку сам. . .
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru