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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
#1

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

15.05.2010, 10:29. Просмотров 2456. Ответов 16
Метки нет (Все метки)

Помогите пожалуйста начинающиму.... Условие задачи: "Необходимо ввести с клавиатуры строку и посчитать количество букв в введеной строке.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2010, 10:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать количество букв в строке (C++):

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

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

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

Посчитать количество цифр и букв в строке - C++
срочно. прошу вашу помощь_)) во введенной строке символов, заканчивающихся $. посчитать общее количество цифр и букв S. на с++.

Посчитать количество букв в введенной строке символов - C++
Хелп)) нужно написать программу, которая будет считать количество букв в введенной строке символов. я написала программу, но она...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alip
53 / 32 / 3
Регистрация: 10.03.2010
Сообщений: 85
15.05.2010, 10:57 #2
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    char str[50];
    cout << "Input string:";
    cin.getline(str, 50);
    int len=strlen(str);
    int num=0;
    for (int i=0; i<=len; i++)
        if (isalpha(str[i])) num++;
    cout << "Number of letters: " << num;
    return 0;
}
0
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
15.05.2010, 11:29  [ТС] #3
А оно что-то не работает.

Добавлено через 15 минут
вот просто фрагмет того, что я пытался сделать... Только у меня программа считает колличество всех символов (включая пробел, точку, запятую и т.д.). А мне нужно посчитать количесво только букв. Посмотрите что нужно добавить в мою прогу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
#include <cstring>
# include <math.h>
using namespace std;
int main() 
{
char* str = new char[80];
cout << "Please, enter the string (only by English): ";
cin.getline(str, 80, '\n');
int count = strlen(str);
cout << "Sum of elements= " <<count;
getch();
delete [] str;
return 0;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
15.05.2010, 11:48 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
    
bool isAlpha(char c){
    return isalpha(c);
}
 
int main(){
    std::string buf;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::cout << std::count_if(buf.begin(), buf.end(), isAlpha) << " letters." << std::endl;
    return 0;
}
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.05.2010, 12:00 #5
kuidreS, функция подсчета количества букв в строке str. Для любителей велосипедов.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <cstdlib>
 
int AlphaCount(const char* str) {
  int result = 0;
 
  for (; *str; ++str)
    if (isalpha(*str))
      ++result;
 
  return result;
}
0
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
16.05.2010, 10:36  [ТС] #6
easybudda, можно вопрос. Я просто попробывал запустить то, что Вы написали и мне выдает вот это:
0
Миниатюры
Посчитать количество букв в строке  
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
16.05.2010, 11:15 #7
kuidreS, ого! Честно говоря, никаких идей... Даже представить не могу, где это там такое - (unsigned)(c + 1) <= 256... Попробовал разными компиляторами компилить - всё равно работает... Самому интересно, почему у Вас оно себя так ведёт...
Посчитать количество букв в строке
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.05.2010, 11:17 #8
kuidreS, что вводили(если вылетает после ввода) и каковы настройки проекта?
0
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
16.05.2010, 11:45  [ТС] #9
Я попробывал ввести то, что написал выше easybudda:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
        
bool isAlpha(char c){
        return isalpha(c);
}
 
int main(){
        std::string buf;
        std::cout << "String: ";
        std::getline(std::cin, buf);
        std::cout << std::count_if(buf.begin(), buf.end(), isAlpha) << " letters." << std::endl;
        return 0;
}
после того, как нижимаю "компилировать" оно запускает консольное окно, вроде нормально работает, я ввожу строку, а оно мне выкидывает такое сообщение, которое чуть выше уже присутствует. Я не знаю что оно от меня хочет, я такое первый раз увидел. А желаемого результата так и не добился. Помогите пожалуйста сделать эту программу.
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
16.05.2010, 12:57 #10
kuidreS, ну хорошо, измените функцию
C++
1
2
3
bool isAlpha(char c){
    return ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) );
}
а
C++
1
#include <cctype>
можно убрать.
0
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
16.05.2010, 13:20  [ТС] #11
поменял. Теперь я ввожу строку и консольное окно, где я ввел строку исчезает. Типа оно что-то выполнило и выключилось.
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
16.05.2010, 14:36 #12
Цитата Сообщение от kuidreS Посмотреть сообщение
Теперь я ввожу строку и консольное окно, где я ввел строку исчезает.
Очень необычная ситуация! Вот тут что-то похожее...
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.05.2010, 14:45 #13
kuidreS, хотелось бы все таки разобраться в чем дело.
Цитата Сообщение от kuidreS Посмотреть сообщение
я ввожу строку
Какую именно строку вы вводите, что программа вылетает, приведите пример.
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
16.05.2010, 14:58 #14
CyBOSSeR, я думаю - это какая-то кривая сборка студии с корявой реализацией ctype.h - как я над этой штукой ни издевался, ничего кроме английских букв считать не хочет! И ошибок никаких не выдаёт...
0
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
16.05.2010, 15:11  [ТС] #15
CyBOSSeR, я ввожу абсолютно любую строку. К примеру: "My name is Sasha!". нажимаю энтер и вместо того, чтобы программа мне выдала количество букв=13, консолевое окно закрывается.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2010, 15:11
Привет! Вот еще темы с ответами:

Посчитать количество букв "а" в строке - C++
Пользователь вводит строку. Подсчитать количество букв &quot;a&quot; в ней. Без использования string

Посчитать количество всех букв и количество вхождений каждой буквы - C++
Есть файл из нескольких строк. нужно: 1 посчитать количество всех букв 2 посчитать количество каждой из букв (abcd) Проблема:...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.05.2010, 15:11
Ответ Создать тему
Опции темы

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