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

В последовательности символов подсчитать количество букв и количество цифр - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Дмитрий12
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 70
12.05.2011, 22:25     В последовательности символов подсчитать количество букв и количество цифр #1
Всем Добрый Вечер!!!Помогите пожалуйста тупенькому =), очень надо. Заранее спс...

1. В последовательности символов подсчитать количество
букв и количество цифр.
2. В последовательности целых чисел определить сумму положительных четных чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 22:25     В последовательности символов подсчитать количество букв и количество цифр
Посмотрите здесь:

C++ Подсчитать в строке, содержащей арифметическое выражение, количество используемых цифр и букв, заменить "+" на "-", подсчитать количество действий
Строки. Подсчитать количество заглавных букв в тексте; вывести на экран слова, имеющие наименьшее количество букв... (подправить) C++
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
C++ Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
C++ Подсчитать количество букв, слов и цифр в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
12.05.2011, 22:34     В последовательности символов подсчитать количество букв и количество цифр #2
1. В последовательности символов подсчитать количество
букв и количество цифр.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "");
    char *ch = "123123sdfg123kjgh3";
    int chars = 0;
    int nums = 0;
    for(int i = 0; i < strlen(ch); i++)
        if (ch[i] >= '0' && ch[i] <= '9')
            nums++;
        else
            chars++;
    cout << "В строке \"" << ch << "\" " << nums << " цифр и " << chars << " букв\n";
    system("pause");
    return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.05.2011, 22:37     В последовательности символов подсчитать количество букв и количество цифр #3
Цитата Сообщение от Дмитрий12 Посмотреть сообщение
1. В последовательности символов подсчитать количество
букв и количество цифр.
C++
1
2
3
std::count_if(str.begin(), str.end(), isdigit;//цыфр
...
std::count_if(str.begin(), str.end(), isalpha);//букв
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
12.05.2011, 22:41     В последовательности символов подсчитать количество букв и количество цифр #4
2. В последовательности целых чисел определить сумму положительных четных чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[] = {7, -1, 6, 8, 10, -50};
    int sum = 0;
    setlocale(LC_ALL, "");
    cout << "Массив: \n";
    for(int i = 0; i < 6; i++)
    {
        if (a[i] > 0 && a[i] % 2 == 0)
            sum += a[i];
        cout << a[i] << " ";
    }
    cout << "\nСумма четный положительных элементов: " << sum << endl;
    system("pause");
    return 0;
}
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
12.05.2011, 22:47     В последовательности символов подсчитать количество букв и количество цифр #5
2. В последовательности целых чисел определить сумму положительных четных чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <functional>
#include <numeric>
#include <iostream>
 
int main()
{
  const size_t N = 5;
  int arr[N]={3, -5, 2, 1, 4};
  std::cout<<
     std::accumulate(arr, arr+N, 0, [](int x, int y){return x+(y>0 && !(y%2) ? y : 0);})
     <<std::endl;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.05.2011, 23:03     В последовательности символов подсчитать количество букв и количество цифр #6
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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
enum SYMB_T { ST_DIGIT = 0, ST_ALPHA = 1, ST_SPACE = 2, ST_OTHER = 3, ST_NUMTYPES = 4 };
 
int main(void){
    char buf[BUFSIZ], * p;
    int counters[ST_NUMTYPES];
    
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        memset(counters, 0, sizeof(counters));
        for ( p = buf; *p; ++p ){
            if ( isdigit(*p) )
                counters[ST_DIGIT] += 1;
            else if ( isalpha(*p) )
                counters[ST_ALPHA] += 1;
            else if ( isspace(*p) )
                counters[ST_SPACE] += 1;
            else
                counters[ST_OTHER] += 1;
            
        }
        printf("DIGITS:\t%d\nALPHAS:\t%d\nSPACES:\t%d\nOTHERS:\t%d\n",
            counters[ST_DIGIT], counters[ST_ALPHA], counters[ST_SPACE], counters[ST_OTHER]);
    }
    
    return 0;
}
Ну или чуть короче
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
enum SYMB_T { ST_DIGIT = 0, ST_ALPHA = 1, ST_SPACE = 2, ST_OTHER = 3, ST_NUMTYPES = 4 };
 
int main(void){
    char buf[BUFSIZ], * p;
    int counters[ST_NUMTYPES];
    
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        memset(counters, 0, sizeof(counters));
        for ( p = buf; *p && ( ( isdigit(*p) && (++counters[ST_DIGIT]) ) || ( isalpha(*p) && (++counters[ST_ALPHA]) ) || ( isspace(*p) && (++counters[ST_SPACE]) ) || ( ++counters[ST_OTHER] ) ); ++p )
            ;
        printf("DIGITS:\t%d\nALPHAS:\t%d\nSPACES:\t%d\nOTHERS:\t%d\n",
            counters[ST_DIGIT], counters[ST_ALPHA], counters[ST_SPACE], counters[ST_OTHER]);
    }
    
    return 0;
}
Yandex
Объявления
12.05.2011, 23:03     В последовательности символов подсчитать количество букв и количество цифр
Ответ Создать тему
Опции темы

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