Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Юный падаван
17 / 17 / 0
Регистрация: 19.03.2009
Сообщений: 253
1

количество слов в тексте

01.04.2010, 20:21. Показов 2071. Ответов 4
Метки нет (Все метки)

Пишу курсовик.Программа следующего плана.Нужно вводить текст из внешнего файла в Memo и далее нажав на кнопку посчитать количество слов в тексте.
Вывод текста осуществила, проблема со второй частью.
Мысли следующие посчитать количество пробелов и прибавить единицу и получится количество слов.
Вообщем помогите пожалуйста умными мыслями и кодом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2010, 20:21
Ответы с готовыми решениями:

Количество слов в тексте
Переделываю курсовик.язык Turbo C++ )) Раньше программа считала количество слов в тексте. ...

Определить количество слов в тексте
Задание 1: Определить количество слов в тексте Задание 2: Вывести N первых прописных латинских...

Определить количество слов в тексте, вывести N первых прописных латинских букв
1.Определить количество слов в тексте, 2.Вывести N первых прописных латинских букв. Всё это надо...

В заданной строке посчитать количество слов. Разделителем слов считается один или несколько ответов
В заданной строке посчитать количество слов. Разделителем слов считается один или несколько...

4
Покинул форум
3183 / 1362 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
01.04.2010, 21:16 2
C++
1
2
3
4
5
6
 
 TStringList *counts=new TStringList;
 counts->Text=Memo1->Text;
 counts->Text=StringReplace(counts->Text," ","\r\n",TReplaceFlags()<<rfReplaceAll);
 int i=counts->Count;
 delete counts;
В этой строке:
C++
1
counts->Text=StringReplace(counts->Text," ","\r\n",TReplaceFlags()<<rfReplaceAll);
Мы заменяем все пробелы на знак переноса строки, и у нас получается столько строк, сколько было пробелов. Потом в i заносим кол-во строк из counts.
i - и есть количество строк.
0
536 / 352 / 47
Регистрация: 05.04.2009
Сообщений: 730
01.04.2010, 23:04 3
Цитата Сообщение от Almareta Посмотреть сообщение
посчитать количество слов в тексте
У меня получился такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//--------------------------------------------------------------------------- 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    String S = Memo1->Text + " ";
    String RusLetter = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ-"  \
                      "абвгдежзийклмнопрстуфхцчшщъыьэюяЁё";
    int Word_Count = 0;
    for ( int i = 1; i < S.Length()-1; ++i )
    {
        if ( S.IsDelimiter(RusLetter, i  ) &&  \
            !S.IsDelimiter(RusLetter, i+1) &&  \
             S[i] != '-' )
        Word_Count++;
    }
    
    ShowMessage ( Word_Count );
}
//---------------------------------------------------------------------------
Цитата Сообщение от Almareta Посмотреть сообщение
Мысли следующие посчитать количество пробелов
Учитывать надо не только пробелы.
1
8 / 8 / 1
Регистрация: 27.10.2009
Сообщений: 65
02.04.2010, 00:09 4
Если воплотить твои мысли в прогу:

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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <map.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString s;
s=Memo1->Text;
int i=1;
float a=0;
while (i<s.Length())
{
if(s[i]==' ') a++;
i++;
}
Edit1->Text=a+1;
}
//---------------------------------------------------------------------------
0
Юный падаван
17 / 17 / 0
Регистрация: 19.03.2009
Сообщений: 253
02.04.2010, 13:44  [ТС] 5
Спасибо за ответы но я не совсем правильно все описала.у меня язык Turbo C++,вводимый текст должен быть на английском.перепробовала все варианты,ошибки не выдает,но кнопка не работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2010, 13:44

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Переворот слов в тексте
Всем привет. Такая задача имеется: Каждое слово текста преобразовать таким обpазом,чтобы оно...

Подсвечивание слов в тексте
здравствуйте, при поиске словосочетания/слова выделяется только первое встречающееся заданное слово...

Подсчет слов в тексте
int cou = 0; for(int i = 0; i &lt; strx.Length(); i++) { if(strx == ' ') ...

подсчет количества слов в тексте
как можно подсчитать сколько раз в тексте встречаетса какоето слово ?


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.