Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Труляля
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 54
1

Преобразование строки. Выбрать все цифры и выполнить с полученным числом действие

11.01.2019, 19:17. Просмотров 390. Ответов 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
27
28
29
30
31
32
33
34
35
36
int file()
    {
        ifstream fin;
        fin.open("exchange.txt");
        if (!fin.is_open())
            cout << "Файл не может быть открыт!\n";
        else
        {
            while (getline(fin, buffer))
            {
                if (buffer.find(valuta) != string::npos)
                    cout << buffer << endl; // вот эта строка нам известна и с ней нужно выполнить преобразование
            }
        }
        fin.close();
        return 1;
    }
    int exchg()
    {
        //string s = "gdgg78ssgg8s gg9s", word; //так всё работает, когда задана
                //cout << "enter string" << endl;
                //cin >> s;                                       //так тоже работает, когда вводишь
        string s = buffer, word; //а так нет, пишет 0
        stringstream str;
        size_t i = 0;
        while (s[i] != '\0')
        {
            if (isdigit(s[i]))
                word += s[i];
            i++;
        }
        str << word;
        str >> n;
        cout << "actualny kurs:" << n << endl;
        return 0;
    }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2019, 19:17
Ответы с готовыми решениями:

Если все вводимые символы - цифры, то выполнить преобразование данной последовательности в целое число
пусть вводится последовательность символов длиной не более 4.если все вводимые символы цифры,то...

Преобразование строки: сначала - все буквы, потом - все цифры
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку чтобы сначала в ней шли все буквы...

Строки (Выбрать в тексте по порядку слово с наибольшим числом вхождений буквы ”а”, и заменить на него все )
Выбрать в тексте по порядку слово с наибольшим числом вхождений буквы ”а”, и заменить на него все...

В файле query выбрать все строки, в которых в названии улицы есть цифры
Помогите пожалуйста, разбираюсь с командой grep в терминале, не могу выполнить задание: В файле...

5
_stanislav
(80 / 20 || 50 / 50) = x
1245 / 961 / 368
Регистрация: 16.08.2014
Сообщений: 3,847
Записей в блоге: 1
Завершенные тесты: 2
11.01.2019, 19:34 2
Цитата Сообщение от Труляля Посмотреть сообщение
string s = buffer, word;
это кто тебя так делать научил? про оператор запятая слышал?
0
Труляля
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 54
11.01.2019, 19:51  [ТС] 3
Цитата Сообщение от _stanislav Посмотреть сообщение
это кто тебя так делать научил? про оператор запятая слышал?
Ошибся, набирая текст. Даже убрав, ничего не изменилось
C++
1
2
3
4
5
6
7
8
int exchg()
    {
        //string s = "gdgg78ssgg8s gg9s"; //так всё работает, когда задана
                //cout << "enter string" << endl;
                //cin >> s;                                       //так тоже работает, когда вводишь
        string s = buffer; //а так нет, пишет 0
        stringstream str;
        size_t i = 0;
0
_stanislav
(80 / 20 || 50 / 50) = x
1245 / 961 / 368
Регистрация: 16.08.2014
Сообщений: 3,847
Записей в блоге: 1
Завершенные тесты: 2
11.01.2019, 20:05 4
файл скинь с которого в buffer качаешь

Добавлено через 3 минуты
и где у тебя вообще buffer объявлен
0
Труляля
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 54
11.01.2019, 20:12  [ТС] 5
Цитата Сообщение от _stanislav Посмотреть сообщение
файл скинь с которого в buffer качаешь

Добавлено через 3 минуты
и где у тебя вообще buffer объявлен
Вот это текстовый файл

а буфер как строковый тип
C++
1
string buffer
и потом уже само выполнение с ним
C++
1
2
3
4
5
while (getline(fin, buffer))
            {
                if (buffer.find(valuta) != string::npos) //т.е если выбранная валюта соответствует строке
                    cout << buffer << endl; //высвечивается эта строка
            }
0
Вложения
Тип файла: txt exchange.txt (1.0 Кб, 0 просмотров)
Труляля
0 / 0 / 0
Регистрация: 30.12.2014
Сообщений: 54
12.01.2019, 21:33  [ТС] 6
Цитата Сообщение от _stanislav Посмотреть сообщение
файл скинь с которого в buffer качаешь

Добавлено через 3 минуты
и где у тебя вообще buffer объявлен
Может нельзя прочитать из буфера, потому что после закрытии скобки - данные стираются?
0
12.01.2019, 21:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2019, 21:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Из данной символьной строки s1 выбрать все цифры и сформировать другую строку из этих цифр s2
Из данной символьной строки s1 выбрать все цифры и сформировать другую строку из этих цифр s2

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


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

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

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