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

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

19.11.2011, 23:10. Показов 9460. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные предложения, а затем восклицательные предложения. Желательно использовать методы IndexOf и ToUpper. код нужен на C#. Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2011, 23:10
Ответы с готовыми решениями:

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

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

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

Вывести на экран сначала вопросительные, а затем восклицательные предложения
Здравствуйте товарищи знатоки. Есть такое дело. Дело полагается в том что надо написать программу...

8
58 / 58 / 29
Регистрация: 21.09.2009
Сообщений: 313
Записей в блоге: 1
20.11.2011, 00:02 2
ИТМО?
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
20.11.2011, 01:07 3
Как то так, только без использования IndexOf и ToUpper (без понятия зачем он тут нужен). Способ далеко не лучший, но работает.

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
private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader("1.txt", Encoding.Default);
            string text = sr.ReadToEnd(); //считываем файл
            sr.Close();
            string[] strings = new string[0]; здесь будут наши подстроки
            for (int i = 0; i < text.Length; i++)
            {
                Array.Resize(ref strings, strings.Length + 1); //создаём новую подстроку
                for (int j = i; j < text.Length; j++)
                    if (text[j] != '?' && text[j] != '.' && text[j] != '!') //пока не встречается знак препинания записываем символы в подстроку
                        strings[strings.Length - 1] += text[j];
                    else
                    {
                        strings[strings.Length - 1] += text[j]; //дописываем знак
                        i = j + 1;
                        break;
                    }
            }
 
            for (int i = 1; i < strings.Length; i++) //сортировка
            {
                if (strings[i].EndsWith("?")) //если подстрока заканчивается вопросительным знаком
                {
                    int j = i;
                    while (j > 0 && !strings[j - 1].EndsWith("?"))
                    {
                        string temp = strings[j - 1];
                        strings[j - 1] = strings[j];
                        strings[j] = temp;
                        j--;
                    }
                }
            }
 
            for (int i = 0; i < strings.Length; i++) //вывод строк
            {
                richTextBox1.Text += strings[i] + "\n";
            }
        }
1
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 3
20.11.2011, 11:09  [ТС] 4
спасибо факир. А какой способ по лучше есть?
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
20.11.2011, 15:25 5
Lyx, так вот если б знал, написал бы.
На самом деле можно подумать, если что придумаю напишу.

Добавлено через 1 час 3 минуты
Вот так будет лучше. Заодно и регулярные выражения вспомнил немного

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
using System;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.IO;
 
private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader("1.txt", Encoding.Default);
            string text = sr.ReadToEnd();
            sr.Close();
            Regex reg = new Regex(@"(\w+\s*)+[!?]");
            MatchCollection matches = reg.Matches(text);
            string[] strings = new string[matches.Count];
            int counter = 0;
            foreach (Match i in matches)
                strings[counter++] = i.Value;
            for (int i = 1; i < strings.Length; i++) //сортировка
            {
                if (strings[i].EndsWith("?")) //если подстрока заканчивается вопросительным знаком
                {
                    int j = i;
                    while (j > 0 && !strings[j - 1].EndsWith("?"))
                    {
                        string temp = strings[j - 1];
                        strings[j - 1] = strings[j];
                        strings[j] = temp;
                        j--;
                    }
                }
            }
 
            for (int i = 0; i < strings.Length; i++) //вывод строк
                richTextBox1.Text += strings[i] + "\n";
        }
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
20.11.2011, 16:54 6
Еще варик.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
 
namespace first
{
    class Program
    {
        static void Main(string[] args)
        {
            string str;
            using (var stream = new StreamReader("1.txt", Encoding.Default))
            {
                str = stream.ReadToEnd();
            }
            Regex re = new Regex(@"(\w+\s*)+[!?]");
            List<string> strings = new List<string>();
            foreach (Match item in re.Matches(str))
            {
                strings.Add(item.Value);
            }
            foreach (string item in strings.OrderBy((x) => !x.EndsWith("?")))
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }
    }
}
2
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 3
20.11.2011, 20:42  [ТС] 7
спасибо всем за помощь)
0
SHadowWar
17.12.2011, 16:58 8
Написать програму , которая считывает текст из файла и выводит его на экран, заманеи цифры от "0" до "9" словами "ноль", "один", ... "девять" начиная каждое предложение с новой строки.
0 / 0 / 0
Регистрация: 22.05.2015
Сообщений: 2
22.05.2015, 13:43 9
Не подскажите почему у меня не получается? создала консольное приложение, когда запускаю висит пустой экран и не выводит предложения..
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str;
            using (var stream = new StreamReader("C:/VS/text.txt", Encoding.Default))
            {
                str = stream.ReadToEnd();
            }
            Regex re = new Regex(@"(\w+\s*)+[!?]");
            List<string> strings = new List<string>();
            foreach (Match item in re.Matches(str))
            {
                strings.Add(item.Value);
            }
            foreach (string item in strings.OrderBy((x) => !x.EndsWith("?")))
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }
    }
}
0
22.05.2015, 13:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2015, 13:43
Помогаю со студенческими работами здесь

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

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

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

Считать текст из файла и вывести сначала вопросительные, а затем восклицательные предложения
Здравствуйте форумчане) Помогите, пожалуйста! Требуется: Считать текст из файла и вывести на экран...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru