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

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

Войти
Регистрация
Восстановить пароль
 
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
#1

Считывание нескольких чисел - C++

24.03.2011, 13:36. Просмотров 951. Ответов 10
Метки нет (Все метки)

Суть стоящей передо мной задачи такова - мне нужно ввести несколько чисел через пробел, например 1 12 49 2 (их количество заранее неизвестно), т.к эти числа не только от 0 до 9, то простой перевод введенной строки в массив с числами не помогает. Помогите, пожалуйста, понятия не имею, как это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2011, 13:36     Считывание нескольких чисел
Посмотрите здесь:

Считывание нескольких строк с пробелами - C++
итак, есть код ввода списка учеников и вывода имени по номеру. #include <iostream> using namespace std; int main() { char...

Считывание нескольких матриц из файла - C++
Зжравствуйте ,помогите с решением такой задачи. Есть файл , в нем хранится матрица.эта матрица считывается в двумерный массив . в...

Считывание нескольких матриц из файла (C) - C++
Всем добрый день. Есть такой вопрос. Имеется текстовый файл, в котором записаны четыре матрицы 4х4, разделенные пустыми строками, как-то...

Считывание нескольких строк с пробелами - C++
Я знаю, что есть функция getline. Но если мне в коде надо считать несколько разных строк с пробелами, что мне делать? Потому что при...

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

Считывание Значений С Нескольких Полей Ввода(ТекстКтрл) - C++
Сейчас для того чтобы получить значение с поля ввода и записать его в массив делаю так: I(0) = atoi(TextCtrl1->GetValue()); I(1) =...

Считывание из одной строки. Как сделать из нескольких? - C++
#include "stdafx.h" #include <iomanip> #include <iostream> #include <conio.h> #include <locale.h> #include <fstream> #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.03.2011, 13:40     Считывание нескольких чисел #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <vector>
#include <iterator>
 
int main(){
  std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
  for(int i = 0; i < vec.size(); ++i)
    std::cout << vec[i] << ' ';
  return 0;
}
Для завершения ввода -> Ctrl+Z
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
24.03.2011, 13:59  [ТС]     Считывание нескольких чисел #3
Спасибо, моя программа работает в цикле, как сделать, чтобы эти значения сбрасывались при следующей итерации цикла?
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.03.2011, 14:03     Считывание нескольких чисел #4
vec.clear() - очистка вектора.
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
24.03.2011, 16:54  [ТС]     Считывание нескольких чисел #5
Всё равно не работает, в первый раз все правильно считывает, но в следующий просто пропускает считывание.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<vector.h>
#include<iterator.h>
int len[10],m,paths[10][10];
 
 
void main()
{
  m=2;
  for (int j=0;j<m;j++)
  {
    printf ("\nVvedite marshrut ");
     std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    for (int i=0; i<vec.size(); i++)
    {
      std::cout << vec[i] << ' ';
      paths[j][i]=vec[i];
    }
    len[j]=vec.size();
    vec.clear();
  }
}
Добавлено через 2 часа 14 минут
Насколько я понимаю, вектор таким образом объявлять нельзя

Добавлено через 54 секунды
именно в цикле
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.03.2011, 17:18     Считывание нескольких чисел #6
eternalfame, Ану попробуй так
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<vector>
#include<iterator>
#include <cstdio>
int len[10],m,paths[10][10];
 
 
int main()
{
  m=2;
  std::vector<int> vec;
  int temp;
  for (int j=0;j<m;j++)
  {
    printf ("\nVvedite marshrut ");
     while(std::cin >> temp)
       vec.push_back(temp);
    std::cin.clear();
    for (int i=0; i<vec.size(); i++)
    {
      std::cout << vec[i] << ' ';
      paths[j][i]=vec[i];
    }
    len[j]=vec.size();
    vec.clear();
  }
}
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
24.03.2011, 17:41  [ТС]     Считывание нескольких чисел #7
Не помогает) Во второй раз так же пропускает считывание

Добавлено через 7 минут
Проблема кажется именно в том, что он не завершает cin
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.03.2011, 17:51     Считывание нескольких чисел #8
Цитата Сообщение от eternalfame Посмотреть сообщение
Во второй раз так же пропускает считывание
Незнаю, у меня нормально работает:
Миниатюры
Считывание нескольких чисел  
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
24.03.2011, 18:03  [ТС]     Считывание нескольких чисел #9
вот как у меня:
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
#include<iostream>
#include<conio>
#include<stdio>
#include<vector>
#include<iterator>
#include <cstdio>
int len[10],m,paths[10][10];
 
 
int main()
{
  m=2;
  std::vector<int> vec;
  int temp;
  for (int j=0;j<m;j++)
  {
    printf ("\nVvedite marshrut ");
     while(std::cin >> temp)
       vec.push_back(temp);
    std::cin.clear();
    for (int i=0; i<vec.size(); i++)
    {
      std::cout << vec[i] << ' ';
      paths[j][i]=vec[i];
    }
    len[j]=vec.size();
    vec.clear();
  }
  printf ("\nend");
  getch();
}
Миниатюры
Считывание нескольких чисел  
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
24.03.2011, 18:24     Считывание нескольких чисел #10
eternalfame, Когда ты ввел первую строку чисел, нажимаеш Enter ,а уже потом Ctrl + Z и снова Enter, пробуй так.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2011, 18:36     Считывание нескольких чисел
Еще ссылки по теме:

Запросить ввод нескольких чисел, и определить, сколько из этих чисел отрицательны - C++
Привет всем!Прошу помочь мне в решении задачи!Надо написать такую программу,чтобы она просила пользователя ввести несколько чисел и потом...

Считывание чисел - C++
Здравствуйте уважаемые форумчани. Помогите новичку в с++) Требуется считать числа с плавающей запятой в массив не зная их количества...

Считывание чисел в строке. С++ - C++
Программа считывает арифметическое выражение (только сложение и вычитание) в формате строки и выводит результат. Но требуется считывать...

считывание строк и чисел. - C++
Доброго времени суток. Столкнулся с проблемой считывания чисел и строк. Используются только &lt;string&gt; и &lt;iostream&gt;. Необходимо вначале...

Считывание комплексных чисел - C++
скажем если в с я считываю комплексные числа так: scanf(&quot;%d+%di&quot;,&amp;a1,&amp;b1); как это сделать в с++? покажите на...


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

Или воспользуйтесь поиском по форуму:
eternalfame
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 7
24.03.2011, 18:36  [ТС]     Считывание нескольких чисел #11
ооо, все, большое спасибо!)
Yandex
Объявления
24.03.2011, 18:36     Считывание нескольких чисел
Ответ Создать тему
Опции темы

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