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

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

Войти
Регистрация
Восстановить пароль
 
devib1ood
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
#1

Программа с функцией, которая в заданной строке проверяет, чего больше: букв или цифр - C++

29.01.2014, 15:42. Просмотров 513. Ответов 8
Метки нет (Все метки)

Помогите, плиз.
Написать программу с функцией, которая в заданной строке проверяет, чего больше: букв или цифр.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 15:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа с функцией, которая в заданной строке проверяет, чего больше: букв или цифр (C++):

Строки. Чего больше: букв, цифр или спецсимволов? - C++
мне нужно составить программу которая будет определять чего больше букв, цифр, или специальных символов помогите плиззз (( желательно с...

Дан файл, содержащий произвольный текст; определить, чего в нем больше: цифр или букв - C++
дан файл содержащий производный текст .определить сколько в нем больше цифр или букв.напишите пожалуйста подробную программу , если можно...

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

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

Программа, которая проверяет, можно ли введенное с клавиатуры слово (stroka_2) составить из букв исходного слова - C++
#include<stdio.h> #include<string.h> #include<locale.h> int Check(char *s, char *t) { int i, count = {0}; while(*s) ...

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

8
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
29.01.2014, 16:01 #2
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 <iostream>
#include <string>
 
 
int main(int argc, char *argv[])
{
    std::string str;
    unsigned words = 0;
    unsigned digits = 0;
    
    std::cout << "Введите строку" << std::endl;
    std::cin >> str;
 
    for(std::string::iterator iter = str.begin(); iter != str.end(); ++iter)
        if(isdigit(*iter))
            ++digits;
        else if(isalpha(*iter))
            ++words;
            
    std::cout << "Строка:\n" << str << (words == digits
        ? "Букв и цифр одинаковое количество" :
        (words > digits ? "Букв больше" : "Цифр больше")) << std::endl;
 
    return 0;
}
1
devib1ood
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
29.01.2014, 16:17  [ТС] #3
а если писать проще, например, вот подсчет цифр:

Добавлено через 14 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int sumOfDigits(char *str)
{
    int sum = 0;
    int len;
    int i;
 
    len = strlen(str);
 
    for (i = 0; i < len; i++)
        if (str[i] >= '0' && str[i] <= '9')
            sum += str[i] - '0';
 
    return sum;
}
Добавлено через 35 секунд
а чтобы подсчитать буквы, как надо написать?
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
29.01.2014, 17:21 #4
Цитата Сообщение от devib1ood Посмотреть сообщение
а чтобы подсчитать буквы, как надо написать?
вы сами ответили на свой вопрос:
C++
1
if(str[i] >= 'A'  &&  str[i] <= 'z')
или так:

C++
1
if(str[i] >= 65  &&  str[i] <= 122)
1
KOPOJI
29.01.2014, 17:23
  #5

Не по теме:

это, вроде как, не "плюсовый" подход, а "сишный".. Имхо, конечно

1
devib1ood
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
29.01.2014, 19:12  [ТС] #6
всем спасибо)

Добавлено через 1 час 37 минут
а вот если в таком варианте?
что у меня тут не так? написано в консоли, при запуске, просто консоль открывается и все, ничего не написано, хотя должно выводиться сообщении...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char a[]="vika12345";
 char b[]="0123456789";
 char c[]="qwertyuiopasdfghjklzxcvbnm";
 int sumch=0, sumbu=0, i, n;
 n=strlen(a);
  for (i=0; i<n; i++)
   {
    {if (a[i]=b[i])
         sumch=sumch+1;}
     {if (a[i]=c[i])
          sumbu=sumbu+1;}
    }
     if (sumch>sumbu)
         cout<<"Cifr bolshe";
      if (sumch<sumbu)
          cout<<"Bukv bolshe";
        if (sumch=sumbu)
            cout<<"Chislo bukv i cifr ravno";
 getch();
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
29.01.2014, 19:31 #7
Цитата Сообщение от devib1ood Посмотреть сообщение
if (a[i]=b[i])
C++
1
if (a[i] == b[i])
Добавлено через 1 минуту
Цитата Сообщение от devib1ood Посмотреть сообщение
C++
1
if (a[i]=c[i])
C++
1
if (a[i] == c[i])
0
devib1ood
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
29.01.2014, 19:36  [ТС] #8
у меня так было написано, но сообщение не выводится, а когда поставил просто =, то выводится всегда - "Chislo bukv i cifr ravno", даже когда они не равны.
0
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
29.01.2014, 19:48 #9
Цитата Сообщение от devib1ood Посмотреть сообщение
но сообщение не выводится
а разве должно? У вас условие не выполняется, нет одинаковых символов на одной позиции.
Цитата Сообщение от devib1ood Посмотреть сообщение
а когда поставил просто =, то выводится всегда - "Chislo bukv i cifr ravno"
Правильно.
Цитата Сообщение от devib1ood Посмотреть сообщение
C++
1
2
if (sumch=sumbu)
    cout<<"Chislo bukv i cifr ravno";
1. Выполнить присваивание значения
2. Привести записанное в переменную sumch значение к булеву типу
3. Т.к. строки не пустые, при приведении типов получится true
4. Т.к. получилось true => условие истинное
5. Вывести сообщение

Добавлено через 4 минуты

Не по теме:

вообще, имхо, если вы не понимаете разницу между присвоением значения и сравнением значений, то вам надо сначала ознакомиться с основами

0
29.01.2014, 19:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 19:48
Привет! Вот еще темы с ответами:

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

Определить, каких символов больше: цифр или латинских букв - C++
помогите с задачкой:) Дана строка символов. Признак конца - символ '\n' ( перевод строки). Определить, каких символов больше: цифр или...

Определить больше в строке букв или других символов - C++
1- Дана строка. Определить, больше в строке букв или других символов.

Вводится строка. Каких букв в строке больше 'а' или 'в' - C++
Вводится строка. Каких букв в строке больше 'а' или 'в'? народ прошу помогите плз


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

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

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