Как утешить ввод и сохранить строку чисел в с ++? - PullRequest
0 голосов
/ 05 октября 2019

Есть строка, полная определенного (N) чисел. Например: если N = 5, тогда строка может быть:

0 1 5 3 4

Как я могу прочитать в такой строке? Если я сохраню его в строке (строка temp; cin >> temp;), он по какой-то причине станет '00' ... Кроме того, мне нужно поместить их в массив чисел. Можете ли вы помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 05 октября 2019

На StackOverflow есть множество постов, которые читают ряд цифр от интернет-судьи.

Вот пример:

int number;
int quantity;
std::vector<int> database;
std::cin >> quantity;
for (int index = 0; index < quantity; ++index)
{
  std::cin >> number;
  database.push_back(number);
}

Если у вас аллергия или отвращение к std::vector, вы можете попробовать создать динамический массив:

int number;
int quantity;
int * database;
std::cin >> quantity;
database = new int[quantity];
for (int index = 0; index < quantity; ++index)
{
    std::cin >> number;
    database[index] = number;
}
// Use database
delete[] database; // return the allocated memory.
...