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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
vonorf
6 / 6 / 1
Регистрация: 05.10.2009
Сообщений: 31
#1

Нахождение и подсчет прописных букв - C++

05.10.2009, 18:49. Просмотров 2567. Ответов 21

Возникла проблема с подсчетом прописных букв, вот условие задачи:

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

В главной программе прочесть с клавиатуры две строки, содержащие текст, и вывести на экран количество общих прописных букв во введенных строках.


Мой код в VS 2008:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <ctype.h>
#include <stdlib.h>
using namespace std;
int f1(const char*,const char*);
int main(int argc, char* argv[])
{
    char string1[20],string2[20]; 
    cout<<"vvedi dannie:";  
    cin>>string1>>string2;
    cout<<"kolichestvo obshchih propisnyh bukv: "<<f1<<"\n";
    return 0;
}
int f1(const char*s1,const char*s2)
{
    for (;*s1!='\0'&&*s2!='\0';s1++,s2++)
    return (isupper(*s1)+isupper(*s2));
}
В ответе программа выводит вроде бы шестнадцатеричный код, вот пример ее работы:

vvedi dannye:Hello World!
kolichestvo obshchih propisnyh bukv: 01091037

Ошибка в коде программы или надо дополнительно переводить числа в десятичный код? Если да, то как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2009, 18:49     Нахождение и подсчет прописных букв
Посмотрите здесь:

СИ: Вывод отдельно заглавных и прописных букв из строки C++
C++ Подсчитать слова, состоящие из латинских прописных букв.
поиск слов, состоящих из прописных букв C++
C++ Замена прописных букв строчными
C++ Удалить из строки слова, состоящие только из прописных букв
C++ Сколько слов, состоящих только из прописных букв, содержится в сообщении
C++ Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
05.10.2009, 21:02     Нахождение и подсчет прописных букв #21
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
#include <string>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctype.h>
 
 
/*
Написать функцию, которая получает в качестве параметров две строки
и возвращает в вызывающую программу количество прописных букв,
одновременно содержащихся в заданных строках.
*/
 
template <typename T>
struct is_capital : public std::unary_function<typename T::value_type, bool>
{
    bool operator()(typename T::value_type v) const
    {
        return !!isupper(v);
    }
};
 
std::string f(const std::string& s)
{
    std::string tmp;
    std::remove_copy_if(s.begin(), s.end(), std::back_inserter(tmp), std::not1(is_capital<std::string>()));
    std::sort(tmp.begin(), tmp.end());
    tmp.erase(std::unique(tmp.begin(), tmp.end()), tmp.end());
    return tmp;
}
 
size_t num(const std::string& s1, const std::string& s2)
{
    const std::string tmp1 = f(s1);
    const std::string tmp2 = f(s2);
    std::string res;
 
    std::set_intersection(tmp1.begin(), tmp1.end(), tmp2.begin(), tmp2.end(), std::back_inserter(res));
    return res.size();
}
 
 
int main()
{
    std::cout << num("HELLO", "WORLD") << std::endl;
    std::cout << num("Hello", "World") << std::endl;
 
    return 0;
}
проверка: http://codepad.org/SqmLp22s
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2009, 21:06     Нахождение и подсчет прописных букв
Еще ссылки по теме:

C++ Буллеан (степень) множества латинских прописных букв
Перевод букв из прописных в строчные C++
Найти количество прописных букв в строке C++
Количество прописных букв в строке C++
C++ Преобразование всех строчных букв в прописные, а прописных — в строчные

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

Или воспользуйтесь поиском по форуму:
XuTPbIu_MuHTAu
Эксперт С++
2222 / 737 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
05.10.2009, 21:06     Нахождение и подсчет прописных букв #22
Rififi, Вот я все ждал,когда же ты тут отпишешься
Yandex
Объявления
05.10.2009, 21:06     Нахождение и подсчет прописных букв
Ответ Создать тему
Опции темы

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