Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Мила Хорошилова
1 / 1 / 0
Регистрация: 05.01.2013
Сообщений: 18
1

Посчитать количество цифр и букв в строке

07.01.2013, 21:39. Просмотров 970. Ответов 10
Метки нет (Все метки)

срочно. прошу вашу помощь_)) во введенной строке символов, заканчивающихся $. посчитать общее количество цифр и букв S. на с++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2013, 21:39
Ответы с готовыми решениями:

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

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

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

Посчитать количество букв в строке
Помогите пожалуйста начинающиму.... Условие задачи: "Необходимо ввести с...

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

10
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
07.01.2013, 21:53 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main() {
    char chr;
    int sCnt = 0, numCnt = 0;
    
    std::cout << "Input the string: " << std::endl;
    while (chr != '$') {
          std::cin >> chr;
          numCnt += (isdigit(chr)) ? 1 : 0;
          sCnt += (chr == 'S') ? 1 : 0;
    }
    std::cout << "\nDigit count: " << numCnt << "; S count: " << sCnt << ";\n";
    
    system("pause");
    return 0;
}
1
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
07.01.2013, 22:01 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstring>
int main()
{
     char str[100];
     int d(0), s(0);
     std::cin.getline(str,100,'$');
     for (int i = 0; str[i]!='\0'; i++)
    {
          if(isdigit(str[i]))
                d++;
        if(str[i]=='S')
              s++;
    }
    std::cout<<d<<" "<<s<<'\n';
     return 0;
}
1
Мила Хорошилова
1 / 1 / 0
Регистрация: 05.01.2013
Сообщений: 18
08.01.2013, 23:05  [ТС] 4
не работают_((
0
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
08.01.2013, 23:15 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    char str[100];
    int n=0, S=0;
 
    cout << "Введите строку ($ для выхода):" << endl;
    cin.getline(str, 100, '$');
 
    for (int i=0; i<strlen(str); i++)
    {
        if (str[i]>='0' && str[i]<='9') n++;
        if (str[i] == 'S') S++;
    }
 
    cout << "Количество цифр "   << n << endl;
    cout << "Количество букв S " << S << endl;
 
    system("pause");
    return 0;
}
0
Мила Хорошилова
1 / 1 / 0
Регистрация: 05.01.2013
Сообщений: 18
08.01.2013, 23:31  [ТС] 6
спасибо огромное!!!__))) работает!!
0
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
08.01.2013, 23:38 7
У Ev[G]eN и BumerangSP тоже работают
0
Alex_fuse
2 / 2 / 3
Регистрация: 27.11.2012
Сообщений: 41
25.06.2013, 19:03 8
А на Си можно написать? Пожалуйста
0
MrGluck
Модератор
Эксперт CЭксперт С++
8088 / 4941 / 1431
Регистрация: 29.11.2010
Сообщений: 13,405
25.06.2013, 19:23 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stddef.h>
#define SIZE 256
 
int main()
{
    char str[SIZE];
    size_t i, counterDigit = 0, counterS = 0;
    if (fgets(str, sizeof(str), stdin) == NULL || strlen(str) == 1)
        return 1;
    
    for (i=0; i < strlen(str) && str[i] != '$'; i++)
    {
        if (isdigit(str[i]))
            ++counterDigit;
        else if (str[i] == 'S')
            ++counterS;
    }
            
    printf("Digits: %u\nS: %u\n", counterDigit, counterS);
    
    return 0;
}
Такие вопросы надо задавать в ветке "С для начинающих"
0
Alex_fuse
2 / 2 / 3
Регистрация: 27.11.2012
Сообщений: 41
25.06.2013, 19:24 10
Спасибо большое. Да прост запарился что-то
0
Thinker
Эксперт С++
4233 / 2207 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.06.2013, 21:57 11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

для разнообразия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<cctype>
#include<cstring>
unsigned long Count(char *s, char c)
{
     return *s ? !!isdigit(*s) + ((*s == c) << 16) + Count(s + 1, c) : 0;   
}
 
int main()
{
     char s[1024];
     std::cin.getline(s, 1024, '$');
     unsigned long count = Count(s, 'S');
     std::cout << (count & 0xFFFF) << std::endl;
     std::cout << ((count >> 16) & 0xFFFF) << std::endl;
     return 0;
}
0
25.06.2013, 21:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2013, 21:57

Посчитать количество цифр в строке
Как посчитать количество цифр(функция void count)? Написал вот так, что в цикле...

Посчитать количество цифр в строке
Пользователь вводит строку,программа подсчитывает количество цифр в строке

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


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

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

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