Блог пользователя Telenjk

Автор Telenjk, история, 11 лет назад, По-русски

Знаю заранее 10^7 чисел,которые нужны для того,чтобы заполнить ими вектор.Как это сделать?Пробовал вот так a[10000000]={1,....,33} но так не получается.Буду признателен за подсказку

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
11 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

std::iota, std::fill, ну или циклом.

  • »
    »
    11 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    На примере можно?Например,у меня есть последовательность 10^7 чисел,и их нужно забить в вектор.Как это сделать?Циклом не получится,потому что нет общей формулы

    • »
      »
      »
      11 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Если тебе это надо для олимпиад, можешь даже не пытаться — во всех тестирующих системах есть source code limit, обычно 64 кб. А если для чего-то иного — можно так: a[0] = 0; a[1] = 1; ...., но размер исходника будет несколько мегабайт. Можно сохранить эти значения в файл, а потом прочитать из файла.

    • »
      »
      »
      11 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      Если нет зависимостей, то никак. И вообще, как вы себе это представляете?

»
11 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -11 Проголосовать: не нравится

memsetом тоже можно. ссылка

»
11 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
// В C++
int a[] = {1, 2, 3};
vector<int> v1(a, a + sizeof(a) / sizeof(a[0]));

// В C++11
vector<int> v2 = {1, 2, 3};