Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/32: Рейтинг темы: голосов - 32, средняя оценка - 4.63
Devil7
0 / 0 / 2
Регистрация: 05.10.2011
Сообщений: 97
1

Строки библиотека string.h

16.12.2011, 23:19. Просмотров 5894. Ответов 13
Метки нет (Все метки)

Дана строка символов, состоящая из букв и цифр. Найти количество букв в данной строке. Использовать функции библиотеки string.h
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2011, 23:19
Ответы с готовыми решениями:

считывание строки( библиотека string)
задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы...

Библиотека String
Чем плох String? Когда его не стоит использовать?

Библиотека string.h, функция strcat
Написал вот такое, но в программе все равно текст не выводит. Должно работать...

Библиотека Обработки строк string.h
Задание таково: Разработайте программу работы со строками. Организуйте ввод...

Библиотека для удобной работы с типом string с++
Привет, надо проводить много манипуляций со строками - обрезка, перенос строки,...

13
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
16.12.2011, 23:31 2
C
1
size_t Count_Word (char *s) { return *s ? (  ((*s >= 'A' && *s <= 'Z') || (*s >= 'a' && *s <= 'z')) ? 1 : 0 )  + Count_Word (s+1) : 0 ; }
2
Петррр
16.12.2011, 23:44
  #3

Не по теме:

go, isalpha не рулит?

1
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 23:47 4
Цитата Сообщение от Devil7 Посмотреть сообщение
Дана строка символов, состоящая из букв и цифр. Найти количество букв в данной строке. Использовать функции библиотеки string.h
- всё очень просто
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    char str[1024] = {0};
    cout<<"Enter string : ";
    cin.getline(str,1024);
    long sLen = strlen(str);
    long nAlphas = 0;
    for(long i = 0; i < sLen; i++)
        if(isalpha(str[i]))
            nAlphas++;
    cout<<"number of alphas : "<<nAlphas<<endl;
    system("pause");
    return 0;
}
Enter string : This is the test of the program
number of alphas : 25
Для продолжения нажмите любую клавишу . . .
1
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
16.12.2011, 23:49 5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
#include <stdio.h>
 
int main ()
{
   const char* str = "hello 123 world111";
   char* p;
   unsigned count;
 
   for (p = str, count = 0 ; *p ; ++p)
      count += isalpha(*p) ? 1 : 0;
 
   printf("%u\n", count);
 
   return 0;  
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 23:50 6
Вот код на Си
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>  //printf scanf
#include <ctype.h>  //isalpha
#include <string.h> //strlen
#include <stdlib.h> //system
 
int main()
{
    char str[1024] = {0};
    printf("Enter string : ");
    scanf("%[^\n]",str);
    long sLen = strlen(str);
    long nAlphas = 0;
    for(long i = 0; i < sLen; i++)
        if(isalpha(str[i]))
            nAlphas = nAlphas + 1;
    printf("number of alphas : %d\n",nAlphas);
    system("pause");
    return 0;
}
1
Devil7
0 / 0 / 2
Регистрация: 05.10.2011
Сообщений: 97
17.12.2011, 14:38  [ТС] 7
Спасибо!

Добавлено через 13 часов 18 минут
а что означает isalpha??
0
Jupiter
Каратель
Эксперт С++
6570 / 3991 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.12.2011, 14:41 8
Цитата Сообщение от Devil7 Посмотреть сообщение
а что означает isalpha??
 Комментарий модератора 
Форум не гугл!
1
Serejke_qq
151 / 109 / 40
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
17.12.2011, 14:43 9
Цитата Сообщение от Devil7 Посмотреть сообщение
а что означает isalpha??
Функция isalpha() возвращает ненулевое значение, если ее аргумент является буквой, в противном случае возвращается нуль. Принадлежность символа к буквам зависит от конкретного языка. Для английского языка таковыми являются прописные и строчные буквы от А до Z.
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.12.2011, 14:48 10
Цитата Сообщение от Devil7 Посмотреть сообщение
а что означает isalpha??
http://www.cplusplus.com/reference/clibrary/cctype/isalpha/
0
Devil7
0 / 0 / 2
Регистрация: 05.10.2011
Сообщений: 97
17.12.2011, 17:22  [ТС] 11
попробовал сам сделать, считает только кол-во символов. а как задать правильно условие не знаю (желательно без isalpha)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h> 
#include <time.h>
 
int main ()
{
     char str[50];
     int n=0,z=0,f,i,j;
     srand(time(0));
     printf("vvedite stroku\n");
     gets(str);
     for(i = 0; i < strlen(str); i++)
         n++;
        printf("number of alphas : %d\n",n-f);
        return 0;
}
0
Jupiter
Каратель
Эксперт С++
6570 / 3991 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.12.2011, 17:33 12
Цитата Сообщение от Devil7 Посмотреть сообщение
а как задать правильно условие не знаю (желательно без isalpha)
C
1
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
1
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.12.2011, 17:35 13
Я же написал без isalpha
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
size_t Count_Character (char *s) { return *s ? (  ((*s >= 'A' && *s <= 'Z') || (*s >= 'a' && *s <= 'z')) ? 1 : 0 )  + Count_Character (s+1) : 0 ; }
 
int main(void)
{
    char s[] = "123qwe  ;wA  ";
 
    printf ("String : %s \n Count_Character = %d \n ", s, Count_Character (s) ) ;
 
    system ("pause");
    return 0;
}
1
Devil7
0 / 0 / 2
Регистрация: 05.10.2011
Сообщений: 97
17.12.2011, 17:39  [ТС] 14
спасибо. заработала!)
0
17.12.2011, 17:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2011, 17:39

Реализация класса MyString. Стандартная библиотека, std::string, std::vector
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в...

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void...

String-строки. C-строки. Лексемы
Добрый вечер, господа. Начну с задания: &quot;Записать в новую строку слова, которые...


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

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

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