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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.93
stepansiy
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 17
#1

как определить число в строке? - C++

09.01.2012, 14:16. Просмотров 4807. Ответов 3
Метки нет (Все метки)

У меня по задаче сказанно ввести строку и найти произведение входящих в строку чисел, не могу понять как определить числа, поскольку интернет весь облазил и полезного мало.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2012, 14:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как определить число в строке? (C++):

Определить число латинских букв в строке - C++
Я не знаю как сделать эту задачу. Прошу помочь.

Определить среднее число пробелов, используемых в строке - C++
Привет всем, помогите создать программу. Дан текстовый файл. Определить среднее число пробелов, используемых в строке.

Определить сколько раз в строке встречается заданное число - C++
Определить сколько раз в строке встречается заданное число.

Определить, сколько в строке слов, содержащих четное число символов. - C++
Дана строка, состоящая из слов, разделенных пробелами. Определить, сколько в строке слов, содержащих четное число символов. Со строками...

Для целочисленной матрицы определить в какой строке максимальное число нулей - C++
Для целочисленной матрицы определить в какой строке максимальное число нулей помогите плз

Обработка файлов. Определить среднее число знаков препинания, используемых в строке - C++
Дан текстовый файл. Определить среднее число знаков препинания, используемых в строке.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.01.2012, 14:28 #2
0. pos = 0
1. пока str[pos] != цифра pos = pos + 1
2. begin = pos
3. пока str[pos] == цифра pos = pos + 1
4. end = pos - 1
5. переписать символы из str с begin по end в другую строку и перевести её в число любым известным способом (например, при помощи atoi)
6. factor = factor * num
7. pos = end + 1
8. если pos != str.length() goto 1
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
09.01.2012, 18:15 #3
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 <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
int main()
{
    char* s = "fg.15.m-g0.2-12mm";
    double num = 1, tmp;
    for(; *s; ++s)
    {
        if(isdigit(*s) || '-' == *s || '.' == *s)
        {
            tmp = strtod(s, &s);
            if(tmp)
            {
                num *= tmp;
                --s;
            }
        }
    }
    printf("%lf\n", num);
    return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
09.01.2012, 18:27 #4
Цитата Сообщение от stepansiy Посмотреть сообщение
У меня по задаче сказанно ввести строку и найти произведение входящих в строку чисел, не могу понять как определить числа, поскольку интернет весь облазил и полезного мало.
- ниже простой алгоритм на плюсах
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    char str[1024] = {0};
    cout<<"Enter text (less than 1024 chars)\n";
    cin.getline(str,1024);
    long mult = 1;//Наше произведение
    long nDig = 0;//Кол-во цифр в строке
    for(int i = 0; str[i] != '\0'; i++)
    {
        if(isdigit(str[i]))
        {
            nDig++;
            mult *= (str[i] - '0');//ASCI коды цифр идут с 48 т.е. '0'
            //по сути делаем(пример с 5-кой) '5' - '0' = 53 - 48 = 5
        }
    }
    if(nDig == 0)
        cout<<"Input string not contain digits\n";
    else
        cout<<"Mult of digits in string : "<<mult<<endl;
    system("pause");
    return 0;
}

Не по теме:

PS:Для "всех продвинутых жителей форума, которые любят ставить мне костыли" сообщаю, что я писал под данного ТС очевидно что человек начинающий, ясное дело можно использовать string и алгоритм сделать лучше...

0
Миниатюры
как определить число в строке?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2012, 18:27
Привет! Вот еще темы с ответами:

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

Определить, сколько в заданной строке слов, содержащих четное число символов - C++
Дана строка , состоящая из слов , разделенных пробелами , и в конце строки - точка .определить,сколько в строке слов ,содержащих четное...

Определить, есть ли в строке(string) хотя бы одно число и определить есть ли в тексте хотя бы два числа. - C++
Помогите пожалуйста с заданиями. Определить, есть ли в строке(string) хотя бы одно число. Определить есть ли в тексте хотя бы два числа.

Для строк символов определить какой символ в каждой строке подряд наибольшее число раз - C++
Уважаемые завсегдатые данного форума. Нужна ваша помощь: необходимо написать 2 задачи со строками и массивами на С++. Буду благодарен любой...


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

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

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