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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти колличество ненулевых строк массива http://www.cyberforum.ru/cpp-beginners/thread294371.html
надо построить двумерный массив N*M с рандомными значениями. Найти колличество ненулевых строк массива. Помогите пожалуйста, очень надо. Заранее спс Добавлено через 14 минут Эту задачу надо написать в Си. помогите
C++ Цикл с параметром Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют одинаковые значения (эквивалентны): а) A OR В и В OR A; б) A AND В и В AND A; в) (A OR В) OR С и A OR С; г) (A AND В) AND С и A AND (В AND С); д) A AND (A OR В) и А; е) A OR (A AND В) и А; ж) A AND (В OR С) и (A AND В) OR (A AND С); з) A OR (В AND С)... http://www.cyberforum.ru/cpp-beginners/thread294360.html
табличные значения функции y=x*x-1 C++
Написать программу которая печатает таблич. значения функции Y=(X*X)-1 в введенном диапазоне. Помогите пожалуйста. С меня + Добавлено через 27 минут Мне нужно эту программу написать в C
C++ UNICODE функции
Добрый вечер! 1>c:\users\alexsvk\documents\visual studio 2010\projects\api\schupak\ch1\listing_2\listing_2\cwnd.cpp(24): warning C4996: 'wcscat': This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. VS2010 постоянно выдаёт сообщения на этот счёт, учитывая любые строковые функции (swprintf() и...
C++ Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное http://www.cyberforum.ru/cpp-beginners/thread294349.html
Задание: Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное. Написать на языке Cи. Помогите пожалуйста начинающему программисту=)
C++ В одномерном массиве состоящим из "N" вещественных элем. вычислить максимальный по модулю элем. массива В одномерном массиве состоящим из "N" вещественных элем. вычислить максимальный по модулю элем. массива. Помогите пожалуйста, желательно полностью программу. С меня + подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.05.2011, 23:03     В последовательности символов подсчитать количество букв и количество цифр
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;
}
 
Текущее время: 22:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru