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

Вывести на экран предложения в обратном порядке

15.02.2012, 20:29. Показов 6509. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая считывает текст из файла и выводит на экран его предложения в обратном порядке.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2012, 20:29
Ответы с готовыми решениями:

Вывести на экран все предложения в обратном порядке
Помогите пожалуйста переписать код на С# #include <fstream> #include <iostream> #include <stack> #include <string> using...

Прочитать текст из файла и вывести на экран все его предложения в обратном порядке (С++ -> С#)
Помогите пожалуйста переписать этот код на С# #include <fstream> #include <iostream> #include <stack> #include...

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

20
 Аватар для WizarД
53 / 56 / 10
Регистрация: 07.02.2011
Сообщений: 556
Записей в блоге: 1
15.02.2012, 20:47
C#
1
2
3
4
5
6
7
8
string path = "C://text.txt";
StreamReader sr = new StreamReader(path);
string text = sr.ReadToEnd();
string[] predl = text.Split(new Char[] {'.'});
for (int i = predl.Length-1; i > 0; --i)
            {
                     Console.WriteLine(predl[i]);
            }
Исправил.
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
15.02.2012, 22:10
Цитата Сообщение от WizarД Посмотреть сообщение
C#
1
string[] predl = text.Split(new Char[] {'.'});
массив ради одного символа ?

C#
1
string[] predl = text.Split('.');
1
15.02.2012, 22:42

Не по теме:

Vitall, привычка)

0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
15.02.2012, 22:42
В обратном порядке тока предложения, а сами символы в исходном порядке ?
C#
1
2
3
4
5
6
7
8
9
10
string path = "File.txt";
        StreamReader srr = new StreamReader(path);
        string text = srr.ReadToEnd();
        string[] predl = text.Split('.');
        Array.Reverse(predl);
        System.Collections.IEnumerator myEnumerator = predl.GetEnumerator();
        while (myEnumerator.MoveNext())
        {
            Console.WriteLine(myEnumerator.Current);
        }
0
87 / 73 / 6
Регистрация: 11.09.2011
Сообщений: 118
16.02.2012, 00:11
Vitall, a закрывать StreamReader? Да и вообще, зачем так извращатся с IEnumerator, если есть foreach?
C#
1
2
3
4
5
6
7
string path = "File.txt";
        using(StreamReader streamReader = new StreamReader(path)){
              string[] sentences = streamReader.ReadToEnd().Split('.');
              Array.Reverse(sentences);
              foreach(string sentence in sentences)
                    Console.WriteLine(sentence);
        }
0
774 / 554 / 80
Регистрация: 03.07.2011
Сообщений: 1,020
16.02.2012, 00:34
Цитата Сообщение от Niades Посмотреть сообщение
Да и вообще, зачем так извращатся с IEnumerator, если есть foreach?
Niades, Каждый день его раз по сто пишу надоело уже
А вот про ридер забыл
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
16.02.2012, 11:21
C#
1
2
3
4
5
IEnumerator<string> enumerator = File.ReadAllText(@"input.log").Split('.', '!', '?').Reverse().GetEnumerator();
while (enumerator.MoveNext())
{
    Console.WriteLine(enumerator.Current);
}
Еще такой вариант мин кода (:

Добавлено через 2 минуты
можно конечно и в 2 строки, если тело цикла явно не указывать, но так будет некрасиво
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
16.02.2012, 16:33  [ТС]
Тут задача лежит в том , чтобы вывести предложения в обратном порядке , т.е. 1 2 3 4 предложения должны быть 4 3 2 1.
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
16.02.2012, 22:08
В чем проблема? Не поняли как работает написанный выше код?
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
19.02.2012, 12:50
C#
1
2
foreach (string str in System.IO.File.ReadAllLines("D:\\log.txt"))
    Console.WriteLine(str.ToArray<char>().Reverse().ToArray());
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
19.02.2012, 14:41  [ТС]
Дело в том , что выводит правильно , но знаки (. ! ?) не выводит...
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
22.02.2012, 20:56  [ТС]
Помогите ! Надо чтобы знаки препинания тоже выводило(((
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
22.02.2012, 21:51
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
class Program
{
    static void Main()
    {
        foreach (Match match in Regex.Matches(File.ReadAllText(@"D:\log.txt", Encoding.Default), @".*?[\.!\?]", RegexOptions.Singleline))
            Console.WriteLine(match.Value.Reverse().ToArray());
    }
}
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
23.02.2012, 23:31  [ТС]
а нельзя както по проще? я это не изучал пока что еще...
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.02.2012, 00:13
Dimmon5700, это самый простой вариант: считывание файла, регулярное выражение, перебор коллекции, переворачивание строки. Или надо регулярку заменить на конечный автомат? А ведь станет тогда еще сложнее.
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
24.02.2012, 00:18  [ТС]
Надо не то чтобы код был по меньше , а не было такого
C#
1
Regex.Matches(File.ReadAllText(@"D:\log.txt", Encoding.Default), @".*?[\.!\?]", RegexOptions.Singleline
я это не учил еще , а вот
C#
1
2
3
4
5
6
7
string path = "File.txt";
        using(StreamReader streamReader = new StreamReader(path)){
              string[] sentences = streamReader.ReadToEnd().Split('.');
              Array.Reverse(sentences);
              foreach(string sentence in sentences)
                    Console.WriteLine(sentence);
        }
подходит , только тут не выводит знаки . ! ?
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.02.2012, 00:47
Цитата Сообщение от Dimmon5700 Посмотреть сообщение
а не было такого
Чего такого? Вещи надо своими именами называть.
Допустим:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
class Program
{
    static void Main()
    {
        string file = File.ReadAllText(@"D:\log.txt", Encoding.Default);
        string pattern = @".*?[\.!\?]";
        MatchCollection collection = Regex.Matches(file, pattern, RegexOptions.Singleline);
        foreach (Match match in collection)
            Console.WriteLine(match.Value.Reverse().ToArray());
    }
}
Строка - Значение
11 - Считывание всего текста из файла.
12 - Шаблон для регулярного выражения, который находит минимальную длину символов, которая заканчивается на символы ".", "!" или "?".
13 - Собственно нахождение нужных предложений, где благодаря RegexOptions.Singleline игнорируется перевод на новую строку.
14 - Обход коллекции результатов.
15 - Переворачивается строка и выводится на консоль.

Цитата Сообщение от Dimmon5700 Посмотреть сообщение
я это не учил еще
Будет повод выучить.

Цитата Сообщение от Dimmon5700 Посмотреть сообщение
подходит , только тут не выводит знаки . ! ?
Так работает метод Split. Могу сказать какой костыль прикрутить.
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 35
24.02.2012, 01:33  [ТС]
C#
1
2
3
4
5
6
7
string path = "File.txt";
        using(StreamReader streamReader = new StreamReader(path)){
              string[] sentences = streamReader.ReadToEnd().Split('.');
              Array.Reverse(sentences);
              foreach(string sentence in sentences)
                    Console.WriteLine(sentence);
        }
Вот этот код надо дописать чтобы выводило знаки.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.02.2012, 09:11
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;
using System.IO;
using System.Linq;
using System.Text;
 
class Program
{
    static void Main()
    {
        string path = "File.txt";
        using (StreamReader streamReader = new StreamReader(path))
        {
            string file = streamReader.ReadToEnd();
            char[] signs = { '.', '!', '?' };
 
            StringBuilder sb = new StringBuilder();
            foreach (char symbol in file)
                if (signs.Contains(symbol))
                    sb.Append(symbol);
 
            string[] sentences = file.Split(signs, StringSplitOptions.RemoveEmptyEntries);
            Array.Reverse(sentences);
            for (int i = 0; i < sentences.Length; i++)
                Console.WriteLine("{0}{1}", sb[sentences.Length - i - 1], sentences[i]);
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2012, 09:11
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник 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
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru