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

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

Войти
Регистрация
Восстановить пароль
 
zorge
Сообщений: n/a
#1

Количество заглавных букв в тексте - C++

01.12.2012, 00:00. Просмотров 978. Ответов 1
Метки нет (Все метки)

Помогите исправить ошибку, которую не знаю) Все подпрограммы работают, но когда они не в одной программе, а если в одной то некорректно работают!

C++
1
2
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <string.h>
#include <conio.h>
 
const int n=100;
 
using namespace std;
 
void inp(char []);
void Big_S(char []);
void Small_S(char []);
void Big_B(char []);
 
int main()
{
    char str[n];
    inp(str);
    char *p=str;
    Big_S(str);
    Small_S(str);
    Big_B(str);
    getch();
    return 0;
}
 
void inp(char str[n]){
     cout<<"Enter string:"<<endl;
     gets(str);
     }
 
void Big_S(char str[n]){
     char* ptr=strtok(str," ");
     char s[100]="";
     do
     {
          if(!islower(ptr[0]))
          {
               strcat(s,ptr);
               strcat(s," ");
               }
     }
     while(ptr = strtok(NULL," "));
     cout<<"\nModified string:\n"<<s;
     }
 
void Small_S(char str[n]){
     char* x=strtok(str," ");
     char* min=x;
     do
     {
           if(strlen(x)<strlen(min))
           min=x;
     }
     while(x=strtok(NULL," "));
     cout<<endl<<"Min = "<<min;
     }
 
void Big_B(char str[n]){
     int k=0;
     char st[]="QWERTYUIOPLKJHGFDSAZXCVBNM";
     for(int i=0;i<strlen(str);i++)
        for(int j=0;j<strlen(st);j++)
          if(str[i]==st[j])
           k++;
     cout<<endl<<"Number letters: "<<k;
     }
Добавлено через 28 минут
Сформулирую вопрос по другому!
Как эти подпрограммы объединить в одну, чтобы все корректно работали?

выводит на экран слова, имеющие наименьшее количество букв
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
#include <iostream>
#include <string.h>
#include <conio.h>
 
const int n=100;
 
using namespace std;
 
int main()
{
    char str[n];
    cout<<"Enter string:"<<endl;
     gets(str);
    char* x=strtok(str," ");
     char* min=x;
     do
     {
           if(strlen(x)<strlen(min))
           min=x;
     }
     while(x=strtok(NULL," "));
     cout<<endl<<"Min = "<<min;
    getch();
    return 0;
}
удаляет все слова, начинающиеся со строчной буквы.
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 <iostream>
#include <string.h>
#include <conio.h>
 
const int n=100;
 
using namespace std;
 
int main()
{
    char str[n];
    cout<<"Enter string:"<<endl;
     gets(str);
    char* ptr=strtok(str," ");
     char s[100]="";
     do
     {
          if(!islower(ptr[0]))
          {
               strcat(s,ptr);
               strcat(s," ");
               }
     }
     while(ptr = strtok(NULL," "));
     cout<<"\nModified string:\n"<<s;
    getch();
    return 0;
}
подсчитывает количество заглавных букв в тексте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string.h>
#include <conio.h>
 
const int n=100;
 
using namespace std;
 
int main()
{
    char str[n];
    cout<<"Enter string:"<<endl;
     gets(str);
    int k=0;
     char st[]="QWERTYUIOPLKJHGFDSAZXCVBNM";
     for(int i=0;i<strlen(str);i++)
        for(int j=0;j<strlen(st);j++)
          if(str[i]==st[j])
           k++;
     cout<<endl<<"Number letters: "<<k;
    getch();
    return 0;
}
Добавлено через 1 час 57 минут
Да помогите народ)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 00:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество заглавных букв в тексте (C++):

Строки. Подсчитать количество заглавных букв в тексте; вывести на экран слова, имеющие наименьшее количество букв... (подправить) - C++
Дано задачу: С клавиатуры вводится строка. Составить программу, которая подсчитывает количество заглавных букв в тексте; выводит на...

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

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

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

Найти количество заглавных букв в словах - C++
Given a string, find number of uppercase letters in the words, if it is first letter do not count. Help!

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 324
01.12.2012, 05:10 #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
43
#include <iostream>
#include <cstring>
#include <cctype>
#include <conio.h>
using namespace std;
 
int main()
{
char array_1[250], array_2[250], *ptr_1, *ptr_2;
int i_n = 0;
 
cin.getline(array_1, 250);
 
//ïðîâåðêГ* ñëó÷Г*ГҐГў
 
//ïîäñ÷åò ñèìâîëîâ Гў âåðõГ*ГҐГ¬ ðåãèñòðå
for(int i_1 = 0, i_2 = strlen(array_1); i_1 < i_2; ++i_1)
if(isupper(array_1[i_1]))
++i_n;
 
//Г*Г*õîæäåГ*ГЁГҐ Г*Г*èìåГ*ГјГёГҐГЈГ® ñëîâГ* + ГіГ¤Г*ëåГ*ГЁГҐ ñëîâ Г± ïåðâîé Г§Г*ГЈГ«Г*ГўГ*îé áóêâîé
ptr_1 = ptr_2 = strtok(array_1, " ");
do
{
if(strlen(ptr_1) < strlen(ptr_2))
ptr_2 = ptr_1;
 
if(!isupper(ptr_1[0]))
{
strcat(array_2, ptr_1);
strcat(array_2, " ");
}
}
while(ptr_1 = strtok(NULL, " "));
 
//Âûâîä ðåçóëüòГ*ГІГ*
cout<<"array: "<<array_2<<endl<<"small word: "<<ptr_2<<endl
<<"amount of the caps: "<<i_n<<endl;
 
getch();
 
return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2012, 05:10
Привет! Вот еще темы с ответами:

Подсчитать количество символов отличных от заглавных латинских букв во всех словах массива - C++
Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Элементами слов могут быть любые графические символы....

26. Подсчитать количество букв "А" в предложении и общее количество букв. В тексте несколько строк. - C++
помогите с программкой пожалуйста. язык для меня совершенно незнакомый, а от решения этой задачки зависит судьба в универе одной очень...

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

Количество гласных букв в тексте - C++
// Лабораторная работа №5.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; ...


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

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

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