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

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

06.01.2020, 09:34. Показов 3094. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Считать текст из файла и вывести на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.

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
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            StreamReader reder = new StreamReader("123.txt");
                   
                string text = "Вывести сначала предложения, начинающиеся с однобуквенных слов. а затем все остальные";
                IEnumerable<string> vars = from str in text
                                               .Split(new char[] { '.' },
                                                    StringSplitOptions.RemoveEmptyEntries)
                                               .Select(x => x.Trim())
                                           let word = str.Split(' ').Select(x => x.Trim()).First()
                                           orderby word.Length == 1 descending
                                           select str;
                foreach (string str in vars)
                    Console.WriteLine(str);
                Console.ReadKey(true);
            
            
        }
    }
 
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.01.2020, 09:34
Ответы с готовыми решениями:

Считать текст из файла, вывести сначала предложения, начинающиеся с однобуквенных слов, а затем остальные
Всем привет) Помогите написать вот такую вот программу(На C#): Написать программу, которая считывает текст из файла и выводит на экран...

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

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

18
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,554
06.01.2020, 13:27
а в чем вопрос?
0
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
06.01.2020, 13:46  [ТС]
не выводится текст
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
06.01.2020, 13:51
nastyahamutova, что то такое
C#
1
2
3
4
5
6
                var vars = File.ReadLines("123.txt").GroupBy(line => Regex.IsMatch(line, @"^[a-zA-ZА-Яа-яёЁ]\s"));
 
                foreach (IGrouping g in vars)
                    foreach (string str in g)
Console.WriteLine(str);
                Console.ReadKey(true);
0
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
06.01.2020, 13:56
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Linq;
 
public class Program
{
    public static IEnumerable<string> SelectionOfSentences(IEnumerable<string> text)
    {
        char[] sentenceDelimiters = new char[]{' ', ',', '-'}; // разделители предложения
        char[] sentenceSeparators = new char[]{'.', '!', '?'}; // разделители предложений
        
        // Выборка предложений начинающихся с одной буквы
        var request1 = from str in text
            let sentences = str.Split(sentenceSeparators, StringSplitOptions.RemoveEmptyEntries)
            from sentence in sentences
            where sentence.Split(sentenceDelimiters, StringSplitOptions.RemoveEmptyEntries)
                .First().Trim().Length == 1
            select sentence.Trim();
        
        // Выборка всех остальных
        var request2 = from str in text
            let sentences = str.Split(sentenceSeparators, StringSplitOptions.RemoveEmptyEntries)
            from sentence in sentences
            where sentence.Split(sentenceDelimiters, StringSplitOptions.RemoveEmptyEntries)
                .First().Trim().Length != 1
            select sentence.Trim();
        
        // Список результатов
        var res = request1.ToList();
        res.AddRange(request2.ToList());
        
        return res;
    }
    
    public static void Main()
    {
        string[] text = new string[]{
            "A bcd??? Ab cd.",
            " A, bcd. Abcd!!!",
            "Abc d."
        };
        
        foreach(var str in SelectionOfSentences(text))
        {
            Console.WriteLine(str);
        }
    }
}
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
06.01.2020, 13:59
nastyahamutova, так лучше
C#
1
2
3
4
5
        var vars = File.ReadLines("123.txt")
                    .Select(line => (line, Regex.IsMatch(line, @"^[a-zA-ZА-Яа-яёЁ]\s")))
                    .Orderby(x => x.Item2);
        foreach (string str in vars)
            Console.WriteLine(str);
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
06.01.2020, 14:24
И ещё вариант:
C#
1
2
3
4
string[] splitByDot = text.Split(new[] { '.' }).
                            Where(line => !string.IsNullOrEmpty(line)).
                            Select(line => line.Trim()).
                            OrderByDescending(line => char.IsWhiteSpace(line[1])).ToArray();
0
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,554
06.01.2020, 14:50
nastyahamutova,

C#
1
2
3
4
5
6
7
var text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
                       "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. " +
                       "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. " +
                       "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
            var separators = new char[] { '.', '!', '?' };
 
            var arr = text.Split(separators, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).OrderBy(line => line.Split().First().Length);
1
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
07.01.2020, 22:57  [ТС]
Считать текст из файла и вывести на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные.

Помогите написать программу пожалуйста.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            StreamReader reder = new StreamReader("123.txt");
0
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
07.01.2020, 23:01  [ТС]
Помогите пожалуйста доделать, ни как не получается. Все кода перепробовала, что написаны тут.
Вложения
Тип файла: rar ConsoleApp1.rar (121.7 Кб, 3 просмотров)
0
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
07.01.2020, 23:04  [ТС]
Помогите пожалуйста дописать, ни как не получается.

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

Сдавать уже надо! Спасите пожалуйста
Вложения
Тип файла: rar ConsoleApp1.rar (121.7 Кб, 6 просмотров)
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
07.01.2020, 23:13
Уже был такой вопрос на днях, поищите в ленте.
0
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
07.01.2020, 23:20  [ТС]
Да был, находила. Но не получается. Вставляю код и выдает много ошибок, исправляю и еще больше
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
08.01.2020, 00:20
nastyahamutova, Дело в том, что входящий текст из файла у вас довольно странный, там нет ни одного предложения, начинающееся с одной буквы.

Удалите класс Regex, я не знаю зачем вы его создали..
Сейчас ваш рабочий (вроде бы) код выглядит вот так:
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
28
29
30
using System;
using System.IO;
using System.Linq;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            string input = File.ReadAllText("123.txt");
 
 
            string[] splitByDot = input.Split(new[] { '.', '!', '?', '·', ':', ';' }, StringSplitOptions.RemoveEmptyEntries).
                            Where(line => !string.IsNullOrEmpty(line) && !string.IsNullOrWhiteSpace(line)).
                            Select(line => line.Trim()).
                            OrderByDescending(line => char.IsWhiteSpace(line[1])).ToArray();
 
            //Console.WriteLine("Вывести сначала предложения, начинающиеся с однобуквенных слов. а затем все остальные");
 
            for (int i = 0; i < splitByDot.Length; i++)
            {
 
                Console.WriteLine($"{i + 1}) {splitByDot[i]}\n");
            }
 
        }
    }
 
}
0
1 / 1 / 0
Регистрация: 09.09.2016
Сообщений: 99
08.01.2020, 09:01  [ТС]
Консоль вообще не открывается. Она появится на несколько секунд и исчезнет
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
08.01.2020, 10:31
nastyahamutova,
Забанили в гугле?
Первая же ссылка: Консольное приложение сразу же закрывается
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
08.01.2020, 14:43
samana,

Не по теме:

Цитата Сообщение от samana Посмотреть сообщение
Удалите класс Regex, я не знаю зачем вы его создали..
это я тут хожу и везде Regex-ы оставляю)



Считать текст из файла и вывести на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные
если предложение начинается с цифры, то это не должно считаться за слово
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
08.01.2020, 14:49
Цитата Сообщение от jester Посмотреть сообщение
это я тут хожу и везде Regex-ы оставляю)
Нет, нет, там был отдельно создан класс Regex со статическим методом IsMatch, вызывающий throw new NotImplementedException().
Наверно прочитав ваш код, ТС в панике решил, что этот класс нужно создать и нажимал всё подряд - лишь бы заработало, но
Цитата Сообщение от nastyahamutova Посмотреть сообщение
Вставляю код и выдает много ошибок, исправляю и еще больше
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
08.01.2020, 14:58
samana, понятно)) Видимо он удалил эту часть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.01.2020, 14:58
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru