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

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

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

Количество цифр в массиве строк - C++

12.05.2013, 00:12. Просмотров 865. Ответов 18
Метки нет (Все метки)

Помогите, очень нужна программа считающая количество цифр в массиве строк
мне писали такую,но в ней много ошибок...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// ?????????? ?????????? ????????? ???? ? ??????? ?????
#include <stdafx.h/>
#include "stdring"
#include "iostream"
#include "locale"
using namespace std;
int main()
{
string str;
usingned int k=0;
int kol=0;
cout<<"??????? ??????"<< endl;
getline(cin,str);
`while(k<str.length())
{
if((str[k]>=0) &&(str[k]<=9)) kol=kol+1;
}
cout<<"?????????? ???? ? ?????? = "<< kol<<endl;
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 00:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество цифр в массиве строк (C++):

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

Найти количество нечётных цифр в массиве - C++
Введены цифры , нужно найти сколько из них нечётные числа. Нужно использывать массивы.

Определить количество цифр в массиве больших 5 и 12 - C++
Задача такова: Одномерный массив действительных чисел вводится с помощью клавиатуры. Создать программу , используя подпрограмму ,...

Найти количество повторяющихся в массиве цифр - C++
Помогите у меня задача:&quot;Мади подарили новый блокнот. Ему очень понравился подарок, но единственное, что его смутило, это то, что страницы...

Сосчитать количество строк в символьном массиве - C++
Есть у нас массив указателей(массив строк одномерный).Напр, book, dog, mother,book, pistol,brother,dog нужно вывести те...

Неизвестное количество строк в двумерном массиве - C++
Как обеспечить ввод неограчиненного числа строк, который прекращается, к примеру, пустой строкой или специальным символом? #include...

18
Croessmah
Эксперт CЭксперт С++
13425 / 7579 / 856
Регистрация: 27.09.2012
Сообщений: 18,668
Записей в блоге: 3
Завершенные тесты: 1
12.05.2013, 06:05 #2
isdigit в помощь
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
12.05.2013, 06:31 #3
cctype

isdigit

Добавлено через 20 секунд
http://www.cplusplus.com/reference/cctype/
0
AlexS120
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 19
12.05.2013, 23:39  [ТС] #4
посчитать количество цифр в массиве строк.
Работает но не выводит количество
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// ?????????? ?????????? ????????? ???? ? ??????? ?????
 
#include "string.h"
#include "iostream"
#include "locale"
#include "cctype"
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
string str;
 int k=0;
int kol=0;
cout<<"ââåäèòå ñòðîêó"<< endl;
getline(cin,str);
while(k<str.length())
{
if((str[k]>=0) &&(str[k]<=9)) kol=kol+1;
}
cout<<"êîëëè÷åñòâî öèôð â ñòðîêå = "<< kol<<endl;
return 0;
}
0
AlexS120
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 19
12.05.2013, 23:55  [ТС] #5
дело в том,что не проходили библиотеку isdigit да и dev c++ на нее ругается...
0
Croessmah
Эксперт CЭксперт С++
13425 / 7579 / 856
Регистрация: 27.09.2012
Сообщений: 18,668
Записей в блоге: 3
Завершенные тесты: 1
13.05.2013, 00:04 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <iostream>
#include <algorithm>
#include <cctype>
using namespace std;
 
bool isdigit_pred(const unsigned char val){
    return isdigit(val);
}
 
 
int main(){
    string str;
    unsigned int k=0;
    cout<<"Enter string:"<< endl;
    getline(cin,str);
    int kol=count_if(str.begin(),str.end(),isdigit_pred);
    cout<<"Count = "<<kol<<endl;
    return 0;
}
1
AlexS120
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 19
13.05.2013, 01:03  [ТС] #7
а без использования cctype и isdigit она не решаема???
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.05.2013, 01:11 #8
замените свой цикл на такой:
C++
1
2
3
4
5
6
7
for (int i = 0; i < str.length(); ++i)
{
  if ((str[i]>='0') &&(str[i]<='9'))
  {
    ++kol;
  }
}
1
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
13.05.2013, 01:16 #9
Croessmah, для isdigit() не обязательно подключать cctype - isdigit() и без неё работает
0
AlexS120
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 19
13.05.2013, 01:20  [ТС] #10
Больше в программе ничего менять не надо?
0
AlexS120
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 19
13.05.2013, 02:15  [ТС] #11
Всем спасибо)))Решил вот так:
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
#include <string>
#include <iostream>
#include <locale>
#include <conio.h>
using namespace std;
int main()
{
     setlocale(LC_ALL, "Russian");
string str;
int k=0;
int kol=0;
cout<<"Ââåäèòå ñòðîêó"<< endl;
getline(cin,str);
for (int i = 0; i < str.length(); ++i)
{
  if ((str[i]>='0') &&(str[i]<='9'))
  {
    ++kol;
  }
}
cout<<"Êîëè÷åñòâî öèôð â ñòðîêå = "<< kol<<endl;
getch();
return 0;
}
0
Croessmah
Эксперт CЭксперт С++
13425 / 7579 / 856
Регистрация: 27.09.2012
Сообщений: 18,668
Записей в блоге: 3
Завершенные тесты: 1
13.05.2013, 07:24 #12
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Croessmah, для isdigit() не обязательно
Без этого хедера он не будет работать, потому что isdigit в нем объявлен. Не верите? Удалите файл
И вообще, лучше явно подключать все заголовки, чтобы не нарваться на компилятор, в котором неявно не подключается какой-то заголовок

http://www.cplusplus.com/reference/cctype/isdigit/
1
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
13.05.2013, 10:04 #13
Croessmah, Я с вами полностью согласен, что нужно подключать данный заголовок, и я прекрасно помню, что isdigit() там обьявлен.И когда Прата читал, там тоже cctype описана.Но вот по крайней мере в MSVS 2010 и в Dev-C++ они неявно подключают cctype
1
Tulosba
13.05.2013, 12:02
  #14

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
int kol=count_if(str.begin(),str.end(),isdigit_pred);
Кстати, интересно, что студия съедает и без ручного предиката, с обычным isdigit.

1
Croessmah
13.05.2013, 12:04     Количество цифр в массиве строк
  #15

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Кстати, интересно, что студия съедает и без ручного предиката, с обычным isdigit.
Попробуйте с кириллицей

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

Различное количество строк и столбцов в двумерном массиве - C++
Здравствуйте! Нужно, чтобы пользователь мог задать количество столбцов и строк в двумерном массиве; Пытался как для одномерного через new...

Найти в массиве количество простых чисел,больших суммы цифр первого числа - C++
Учусь на 1 курсе,стараюсь,но пока очень туго понимаю С++, по шаблону что-то написать могу, а какое-то другое условие - и я в ступоре. На...

Найти количество строк в массиве, которые содержат максимум - C++
Состязания. Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них – от 0 до m-1, то на вход программа получает...

Найти в массиве количество четных чисел, сумма цифр в которых не превышает заданного числа P - C++
Найти количество четных чисел, сумма цифр в которых не превышает заданного числа P. При вводе Р=11 все считает правильно , но стоит...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.05.2013, 12:04
Ответ Создать тему
Опции темы

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