223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
1

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

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

А можно ли потоку для чтения передать имеющуюся строку, что бы из нее выдрать числа при чтении?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 22:05
Ответы с готовыми решениями:

Произошла ошибка при чтении содержимого папки. Убедитесь, что имя файла является допустимым, а указанное место доступно для чтения.
Что это может быть? IIS 4.0 ------------------------------- Произошла ошибка при чтении...

Создать две программы для записи информации в FIFO и чтения из нее
/* Программа 05-4.с, осуществляющая однонаправленную связь через FIFO между процессом-родителем и...


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

Или воспользуйтесь поиском по форуму:
7
42 / 24 / 15
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 22:07 2
Можно... можно все... Или тебя именно такой код интересует?)
0
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
29.11.2013, 22:09  [ТС] 3
Цитата Сообщение от Vensus Посмотреть сообщение
Или тебя именно такой код интересует
и какой же код???
0
magirus
29.11.2013, 22:10
  #4
 Комментарий администратора 
mat_for_c, напоминаю про правила именования тем.
Вам с полугодом регистрации - непростительно.
0
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
29.11.2013, 22:13  [ТС] 5
magirus, прошу прощения
0
42 / 24 / 15
Регистрация: 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;
}
Вот держи, быстренько набросал...
0
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
29.11.2013, 22:29  [ТС] 7
а вот если числа двузначные или более... не хорошо получится.

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

так возможно?
0
42 / 24 / 15
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 22:34 8
Цитата Сообщение от mat_for_c Посмотреть сообщение
а вот если числа двузначные или более... не хорошо получится.

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

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

Конечно можно. Пробел разделяет числа, поэтому будет прочитано 3 числа
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru