2016-09-29 3 views
0

Я новичок в C++. Я работаю в компьютерном зрении, и у меня есть потенциальная проблема создания массивов.Добавление элемента в массив после значения, полученного динамически из цикла

У меня есть цикл, из которого я получаю значение переменной (например, глубину конкретной точки в сегментированном облаке точек). В этом цикле я получаю индивидуальные значения этих кластеров динамически.

Теперь я хочу сохранить эти значения в одном массиве.

мой код в настоящее время сохраняет значение переменной в 15 элементах массива. например z = {1,3, 0, 0, 0, 0, 0, ..}, в то время как я хочу сохранить после каждой сегментации, полученные значения должны быть добавлены только к одному массиву, например. г = {2,3, 4,5, 2,3, 6,5, 3,5, ..}

фрагмент кода:

 double z = centroid [2]; 

     double array[15] = {z}; 


     for (int i=0; i<15; i++) 
     { 
      std::cout << array[i] << std::endl; 
     } 

могли бы вы помочь.

С уважением, Herry.

+1

Вы пытаетесь объединить 15 элементов одноэлементного массива. Это выйдет за пределы массива и приведет к * неопределенному поведению *. Если вы новичок в C++, я рекомендую вам сначала [найти хорошую книгу для начинающих] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) и изучить основы. –

+0

Hi Joachim. Спасибо за ваше сообщение. Даже если я поместил 15 элементов в массив, программа даст тот же результат. Я обновил вопрос :( – Herry

+0

Я получаю только одно значение после каждого цикла. Пожалуйста, помогите – Herry

ответ

0

Двойной удерживает только значение, что имеет смысл, почему вы получаете только одно значение на выходе.

Если вы хотите, чтобы полностью заполнить массив, необходимо использовать цикл:

for (int i = 0; i < 15; i++) 
{ 
    array[i] = 5; (or whatever you're trying to add into it) 
} 

Это будет полностью заполнить массив со значением 5, и вы получите 15 5-х при выводе массив.

Надеюсь, это поможет вам на правильном пути.

+0

Спасибо Porowns! Не полностью решена. Да, он напечатал каждое значение z пятнадцать раз. Я хочу напечатать значение, сохраненное в z только один раз в качестве элемента в массиве. Я получаю около 10 значений z один за другим отдельно, и я хочу добавить эти значения в один массив, каждый из которых представляет 10 различных значений z. – Herry

+0

Является ли только одно значение или это {1, 2, 3, 4}? @Herry – porowns

+0

Z - это отдельные значения сегмента изображения. Во-первых, при сегментации я получаю значение Z для одного сегмента, которое я сохраняю в Z, а затем цикл запускается и Я получаю другой сегмент и его значение Z. Таким образом, я получаю только одно значение Z за раз. Таким образом, это {1, 2, 3, 4}, но 1, 2, 3, 4 - значения Z, которые я получаю после другой индивидуально. – Herry

Смежные вопросы