Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 21:27   #1
AlexQQ
 
Регистрация: 07.05.2013
Сообщений: 4
По умолчанию Определение количества слов и предложений в тексте в C#

Всем привет.Ребят помогите плиз с C# или хотя бы подкиньте идеи
Определении количества слов и предложения
********** -Описание алгоритма.
**********- При определении количества слов и предложениями считать, что разделителем слов есть пробелы (один или несколько), а разделителем предложения есть точка.
Для определения позиции пропуска или точки можно использовать стандартную функцию Pos (ch).
********** Тестирующая программа должна обеспечивать:
******************* -Ввод текста с клавиатуры и из файлов
******************* -отображение результатов
На С++ могу реализовать,а C# знаю очень плохо

Последний раз редактировалось AlexQQ; 07.05.2013 в 21:30.
AlexQQ вне форума Ответить с цитированием
Старый 08.05.2013, 17:14   #2
Serg94
Форумчанин
 
Аватар для Serg94
 
Регистрация: 10.12.2011
Сообщений: 167
По умолчанию

что-то типо того

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
namespace ConsoleApplication8
{
    class Program
    {
        static string txt = "",filepath="";
       static void menu()
        {
            Console.WriteLine("Ввести данные:             1");
            Console.WriteLine("Загрузить из файла:        2");
            Console.WriteLine("Выход                      0");
        }
       static void vivod(string text)
       {
           int countwords = 0;// количество слов
           int countproposals = 0; // количество предложений
           if (text.Length == 0)
           {
               Console.WriteLine("Предложений 0\nСлов 0");
               return;
           }
           text = Regex.Replace(text, " {2,}", " "); // удаление вторых пробелов
           string[] lines = text.Trim(' ').Split(' ');   
           for (int i = 0; i < lines.Length; ++i)
           {
               if (lines[i] != ".")
               {
                   char[] mas = lines[i].ToArray();
                   if (mas[mas.Length - 1] == '.')
                   {
                       countwords++;
                       countproposals++;
                   }
                   else
                       countwords++;
               }
               else
                   countproposals++;
           }
           Console.WriteLine("Предложений:  {0}",countproposals);
           Console.WriteLine("Слов: {0}", countwords);
       }
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine();
                menu();
                int n = int.Parse(Console.ReadLine());
                Console.Clear();
                switch (n)
                {
                    case 1:
                        Console.WriteLine("Введите данные: ");
                        txt=Console.ReadLine();
                        break;
                    case 2:
                        while (true)
                        {
                        loop: Console.WriteLine("Введите путь к файлу:");
                        filepath = Console.ReadLine();
                        if (File.Exists(filepath))
                        {
                            txt = File.ReadAllText(filepath);
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Файл не существует!Еще раз?\nПовторный ввод - 1.\nВыход - 0");
                            if (Convert.ToInt32(Console.ReadLine()) == 1)
                                goto loop;
                            else
                                break;
                        }
                        }
                        break;
                    case 0:
                        return;
                    default:
                        return;
                }
                vivod(txt);
                }
            }
         
        }
    }
Serg94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Определение количества слов в тексте. Evgesha Помощь студентам 17 12.04.2011 18:58
Подсчитать количество предложений. Расставить предложения по возрастанию количества слов в каждом. death65 Помощь студентам 1 13.12.2010 18:33
Двумерные массивы и определение количества длинных слов Selfish Общие вопросы Delphi 1 05.07.2010 07:37
С++ Написать программу, для вывода предложений, состоящих из заданного количества слов uropb992 Помощь студентам 0 28.05.2010 18:54
Определение количества одинаковых слов в строке. brainy_man Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 10.05.2010 02:58