Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kawar
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 14
#1

Сколько слов, состоящих только из прописных букв, содержится в сообщении - C++

03.06.2012, 01:09. Просмотров 630. Ответов 2
Метки нет (Все метки)

Всем привет.Есть такое вот задание:
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.
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
if( OpenDialog1 ->Execute())
 {
  Memo1->Lines->LoadFromFile("text.txt");
 }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Edit3Click(TObject *Sender)
{
  int n,S=0; bool r;
  AnsiString  f=Memo1->Text+" ";
  n=f.Length();
  char* F = f.c_str();
 
  for (int i=0;i<=n;i++)
      {
         if (isupper(F[i])) r=true;
         else  {
                 r=false;
                 for(i;i<n;i++)
                    if (isspace(F[i])!=0 || ispunct(F[i])!=0) break;
                }
 
          if ( r==true &&  isspace(F[i+1])!=0 || ispunct(F[i+1])!=0 )
          {S++;
              for (int l=i;l>=0;l--)
              {
               if  ( isspace(F[l])!=0 || ispunct(F[l]!=0)) break;
               else
                F[l]=tolower(F[l]);
              }
 
           }
 
          
 
 
 
      }
 
 Memo2->Text=F;
 Label1->Caption="слов из прописных букв:"+IntToStr(S);
Работает в основном правильно,но есть некоторые неточности
например если записать в качестве исходного текста
Label1->Caption->Clear(); результат будет таким label1->caption->clear(); "4 слова из прописных букв"
или например так Gggg,Cgggege,GCGEG-GGghh ,результат -gggg,cgggege,gcgeg-GGghh "1 слово.."
Помогите найти ошибки ,заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 01:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сколько слов, состоящих только из прописных букв, содержится в сообщении (C++):

Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. - C++
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.

поиск слов, состоящих из прописных букв - C++
всем доброго времени суток, собственно сабж, необходимо найти слова, содержащиеся в файле, которые состоят только из прописных букв. ...

Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов. - C++
Помогите, пожалуйста, написать программу :scratch: Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных...

Определить, каких слов в тексте больше: состоящих только из букв, или только из цифр - C++
определить, каких слов в тексте больше состоящих только из букв или только из цифр пока не разобрался со строками

Сколько слов, состоящих из неболее 4 букв - C++
Здравствуйте! Помогите плиз ! Очень срочно ! Написать программу, которая считывает текст из файла и определяет,сколько в нем...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
03.06.2012, 09:23 #2
Советуя вам использовать для этого такаю удобную функцию как strtok
0
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
03.06.2012, 10:32 #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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    static char psz[256] = "Apple fruit Banana Orange juice strawberry Cocktail\0"; 
 
    int count = 0;
    for (int i = 0; psz[i] != '\0'; i++)
         if (isspace(psz[i]) || i == strlen(psz)-1)
         {
             int k = i-1; 
             while (!isspace(psz[k]) && k >= 0) k--;
             if (isupper(psz[k+1]))
             {
                for (int n = k+1; !isspace(psz[n]) && 
                    psz[n] != '\0'; n++)
                     psz[n] = toupper(psz[n]);
                count++;
             }
         }
 
    printf("str = %s\ncount = %d\n",psz,count);
 
    _getch();
}
http://liveworkspace.org/code/e76ce9...6c4516e93a5e77
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 10:32
Привет! Вот еще темы с ответами:

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

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

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

Считать текст из файла и определить, сколько в нем слов, состоящих из не более чем четырех букв - C++
Здравствуйте! Помогите плиз ! Очень срочно ! Написать программу, которая считывает текст из файла и определяет,сколько в нем...


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

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

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