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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.63
Harvey
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 32
#1

Посчитать количество строчных и количество прописных букв - C++

28.03.2013, 17:37. Просмотров 3849. Ответов 9
Метки нет (Все метки)

Написать программу, в которой с клавиатуры вводится строка. Посчитать количество строчных и количество прописных букв в этой фразе.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 17:37     Посчитать количество строчных и количество прописных букв
Посмотрите здесь:

В заданной строке найти количество строчных букв C++
C++ Необходимо исправить ошибки, связанные с неверным использованием прописных и строчных букв
C++ Дана строка. Подсчитать общее колличество прописных и строчных латинских и русских букв и вывести на консоль количество
C++ Как написать функцию, которая подсчитывает число прописных и строчных букв в строке?
Написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв C++
C++ Посчитать количество всех букв и количество вхождений каждой буквы
C++ Количество строчных букв в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
28.03.2013, 17:46     Посчитать количество строчных и количество прописных букв #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    char fraza[255]="";
    cin>>fraza;
    int a=0,b=0;
    for (int i=0;i<255;i++)
    {
        if ((fraza[i]>'A')&&(fraza[i]<'Z'))a++;
        if (fraza[i]>'a'&&fraza[i]<'z')b++;
    }
    cout<<"Big "<<a<<"\nSmall "<<b<<endl;
    getwchar();
    return 0;
}
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
28.03.2013, 17:51     Посчитать количество строчных и количество прописных букв #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <string>
 
int main() 
{
    setlocale (0, "Russian");
    
    std::string text = "Написать программу, в которой с клавиатуры вводится строка."
                        "Посчитать количество строчных и количество прописных букв в этой фразе.";
    //std::getline(std::cin, text);
    std::cout<<"количество прописных: "<<std::count_if(text.begin(), text.end(), isupper)<<"\n";
    std::cout<<"количество строчных: "<<std::count_if(text.begin(), text.end(), islower)<<"\n";
 
    return 0;
}
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.07.2013, 15:43     Посчитать количество строчных и количество прописных букв #4
Мне кажется цикл while здесь уместнее, если предположить что мы не знаем какова длинна строки.

Как Вам вот такой вариант:

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 <iostream>
#include <cstring>
#include <cstdio>
#include <clocale>
using namespace std;
int main()
{
    setlocale(LC_CTYPE, "");
 
    int i, count_big, count_small;
    i=count=0;
    char str[80];
    char *p;
 
    p=str;
 
    cout<<"Введите строку: ";
    gets(str);
 
    while (p[i])
    {
        if(isupper(p[i]))
        {
            i++;
            count_big++;
        }
         if(islower(p[i]))
        {
            i++;
            count_small++;
        }
        i++;
    }
    cout<<"количество прописных букв в строке: "<<count<<endl;
 
    return 0;
}
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.07.2013, 15:55     Посчитать количество строчных и количество прописных букв #5
Цитата Сообщение от h_wolf Посмотреть сообщение
что мы не знаем какова длинна строки
ну пусть так, а что же у Вас ограничение то на 79символов?) и что это за изврат?
Цитата Сообщение от h_wolf Посмотреть сообщение
C++
1
2
3
char str[80];
 char *p; 
p=str;
в чем заключается смысл манипуляций, очень хотелось бы услышать причину этих действ
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.07.2013, 16:03     Посчитать количество строчных и количество прописных букв #6
Я только только начал учится трудному ремеслу программирования)
В данный момент учусь по книге Г. Шилдта С++ Базовый курс

По поводу длинны строки - эта програмка писалась как ответ на один из контрольных вопросов и длина строки в 79 символов была взята просто с потолка. никто не мешает установить там 255)

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

Добавлено через 3 минуты
Эм, да, изначально код писался только для подсчета прописных букв, поэтому там в конце листинга тоже есть несовпадения с реальностью. конец кода должен быть следующим:

C++
1
2
3
4
cout<<"количество прописных букв в строке: "<<count_big<<endl;
cout<<"количество строчных букв в строке: "<<count_small<<endl;
 
    return 0;
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
30.07.2013, 16:03     Посчитать количество строчных и количество прописных букв #7
нет ну просто раз работаете с указателем, чего
C++
1
str
не использовать? зачем лишний
C++
1
р
, решение от DiffEreD, менее зависим от длин
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
30.07.2013, 16:06     Посчитать количество строчных и количество прописных букв #8
Цитата Сообщение от aLarman Посмотреть сообщение
нет ну просто раз работаете с указателем, чего
Код C++
1
str
не использовать? зачем лишний
Вы к тому что имя массива и так указатель? Или я опять что-то не так понимаю (уж простите, но знаний и опыта практически 0)

Дело в том что некоторые контрольные программки в ответах написаны именно с таким использование указателей, вот я и подумал что так лучше, хотя мне и самому непонятно зачем "огород городить"??

А решение DiffEreD для меня на данной ступени эволюции вообще нечитаемо, я не понимаю как оно работает.
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
31.07.2013, 09:09     Посчитать количество строчных и количество прописных букв #9
Цитата Сообщение от h_wolf Посмотреть сообщение
Вы к тому что имя массива и так указатель?
Вы совершенно правы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2013, 09:11     Посчитать количество строчных и количество прописных букв
Еще ссылки по теме:

Найти количество прописных букв в строке C++
C++ Вычислить общее количество строчных букв
C++ Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв, заглавных б
Количество прописных букв в строке C++
C++ Преобразование всех строчных букв в прописные, а прописных — в строчные

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

Или воспользуйтесь поиском по форуму:
h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
31.07.2013, 09:11     Посчитать количество строчных и количество прописных букв #10
Спасибо за ответ Исправлюсь.
Yandex
Объявления
31.07.2013, 09:11     Посчитать количество строчных и количество прописных букв
Ответ Создать тему
Опции темы

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