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

Задана строка, содержащая буквы и числа - C++

Восстановить пароль Регистрация
 
rk 48
1 / 1 / 0
Регистрация: 02.03.2010
Сообщений: 37
05.04.2011, 22:02     Задана строка, содержащая буквы и числа #1
Задана строка, содержащая буквы и числа. Найти произведение всех чисел, заданных в строке.

Помогите написать программу. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2011, 22:02     Задана строка, содержащая буквы и числа
Посмотрите здесь:

C++ Дана строка, содержащая целые числа. Вывести на экран только чётные числа
C++ Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Дана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b C++
строки, имеется строка, содержащая буквы латинского алфавита.......... C++
Задана строка. Найти буквы и заменить C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
05.04.2011, 23:08     Задана строка, содержащая буквы и числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<string>
#include<sstream>
 
int main(){
    std::string text="we2b11k mbn,10";
    float num, prod=1, fl=0;
    std::stringstream ss(text);
    for(int i=0; i<text.size(); ){
        ss.seekg(i++, std::ios::beg);
        if(ss.peek()>='0'&&ss.peek()<='9'){
            ss>>num;
            std::cout<<num<<"\n";
            prod*=num;
            i=ss.tellg();
            fl=1;
        }
    }
    fl?std::cout<<prod:std::cout<<"Numbers not found";
}
IrineK
Заблокирован
06.04.2011, 12:17     Задана строка, содержащая буквы и числа #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
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <sstream>
using namespace std;
 
bool isDigit(char ch)
{   if(ch>='0' && ch<='9')
        return true;
    return false;
}
 
int main()
{   int i, num, prod=1, found = 0;
    string str;
    cout<<"Your string:\n";
    getline(cin,str);
 
    for(i=0;i<str.length();i++)
        if(!isDigit(str[i]))
            str[i]=' ';
    
    istringstream istr(str);
    while(istr>>num)
    {   prod*=num;
        found++;
    }
 
    if (found) cout<<"Product: "<<prod<<"\n";
    else cout<<"No digits in the string\n";
    
    cin.sync(); cin.get();
    return 0;
}
Изображения
 
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
06.04.2011, 12:39     Задана строка, содержащая буквы и числа #4
Старый добрый sscanf
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 <ctype.h>
#include <stdio.h>
#include <string.h>
 
int main()
{
    const char * string = "j;g 16 tu 89gdt 1hkg2jkgjk3";
    const char * ptr = string;
    int currentNumber = 0;
    int power = 1;
 
    while (*ptr++) {
        if (isdigit(*ptr)) {
            sscanf(ptr, "%d", &currentNumber);
            power *= currentNumber;
 
            while(ptr && isdigit(*ptr))
                ++ptr;
        }
    }
 
    printf("%d\n", power);
}
Yandex
Объявления
06.04.2011, 12:39     Задана строка, содержащая буквы и числа
Ответ Создать тему
Опции темы

Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru