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

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

Войти
Регистрация
Восстановить пароль
 
mat_for_c
132 / 127 / 28
Регистрация: 26.04.2013
Сообщений: 636
Завершенные тесты: 2
#1

можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении - C++

29.11.2013, 22:05. Просмотров 215. Ответов 7
Метки нет (Все метки)

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

Как, при запуске консольной программы, передать в нее имена файлов? - C++
Имеется код #include "stdafx.h" #include <iostream> #include <string> #include <fstream> using namespace std; bool...

Как, при запуске консольной программы, передать в нее имена файлов? - C++
#include "stdafx.h" #include <iostream> #include <string> #include <fstream> using namespace std; bool...

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

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

Можно ли открыть поток для чтения и записи файла одновременно? - C++
Можно ли открыть поток для чтения и записи одновременно? Этот код не работает: wchar_t temp; wstring wchars; ...

Можно ли на С++ как-то свернуть стек для выхода из рекурсии, а не последовательно выходить из нее? - C++
Вот такой пример кода: QuickSort::QuickSort(void) { deeps = 0; needsShuffl = false; } QuickSort::~QuickSort(void) {

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 22:07     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #2
Можно... можно все... Или тебя именно такой код интересует?)
mat_for_c
132 / 127 / 28
Регистрация: 26.04.2013
Сообщений: 636
Завершенные тесты: 2
29.11.2013, 22:09  [ТС]     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #3
Цитата Сообщение от Vensus Посмотреть сообщение
Или тебя именно такой код интересует
и какой же код???
magirus
29.11.2013, 22:10
  #4
 Комментарий администратора 
mat_for_c, напоминаю про правила именования тем.
Вам с полугодом регистрации - непростительно.
mat_for_c
132 / 127 / 28
Регистрация: 26.04.2013
Сообщений: 636
Завершенные тесты: 2
29.11.2013, 22:13  [ТС]     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #5
magirus, прошу прощения
Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 22:17     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #6
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
#include <iostream>
#include <cstring>
using namespace std;
 
 
int main()
{
    locale::global(locale("Russian"));      //подключили русский
    cout << "Введите количество символов в строке: ";
    int n;
    cin >> n;
    cin.clear();                                    //очищаем
    cin.ignore(cin.rdbuf()->in_avail());            //буфер
    cout << "Введите строку: ";
    char *str = new(nothrow) char[n+1];     //выделили память
    cin.getline(str, n);        //считали строку
 
    int *arr = new(nothrow) int[n]; //выделили память для массива чисел
    int j = 0;
    for(int i = 0; i < n; i++)  //перебираем все символы строки и записываем числа в массив int arr[]
    {
        if(str[i] < 58 && str[i] > 47)
        {
            arr[j] = str[i] - 48;
            j++;
        }
    }
    cout << "Полученные числа: ";
    for(int i = 0; i < j; i++)  //выводим числа
    {
        cout << arr[i] << " ";
    }
    cout << "\n\n";
    return 0;
}
Вот держи, быстренько набросал...
mat_for_c
132 / 127 / 28
Регистрация: 26.04.2013
Сообщений: 636
Завершенные тесты: 2
29.11.2013, 22:29  [ТС]     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #7
а вот если числа двузначные или более... не хорошо получится.

и еще, я хотел как:
пусть есть строка "123 34 2345". привязать ее к cin и потом cделать cin >> a >> b >> c;

так возможно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 22:34     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении
Еще ссылки по теме:

Строку с методом подчеркивает и говорит о том, что не переданы аргументы. Как их передать в метод? - C++
метод таков: void Fraction :: Control(int &amp;denominator, int &amp;numerator) { if (denominator == 0) {cout &lt;&lt; &quot;error!try again!&quot;&lt;&lt;endl;} ...

Выдает ошибку недостаточно прав для чтения. Что сделать чтобы работало? - C++
И объясните пожалуйста, все ли правильно и нужно ли эти файлы самому создавать, если да то где. Дан файл, содержащий несколько строк....

Что делает эта строка из программы применительно к входному потоку - C++
собственно вот и строка которая мне не понятна, применяется к входному потоку соответственно in.clear(std::ios::failbit |...

Ошибка при открытии файла для чтения - C++
#include &quot;stdafx.h&quot; #include &quot;nhash.h&quot; #include &lt;iostream&gt; #include &lt;tchar.h&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; int...


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

Или воспользуйтесь поиском по форуму:
Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 22:34     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении #8
Цитата Сообщение от mat_for_c Посмотреть сообщение
а вот если числа двузначные или более... не хорошо получится.

и еще, я хотел как:
пусть есть строка "123 34 2345". привязать ее к cin и потом cделать cin >> a >> b >> c;

так возможно?
Тогда конкретнее диктуйте условие, я не могу вам написать универсальную программу... Прототип я написал...

Конечно можно. Пробел разделяет числа, поэтому будет прочитано 3 числа
Yandex
Объявления
29.11.2013, 22:34     можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении
Ответ Создать тему
Опции темы

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