Почему у меня есть значения мусора в динамическом плавающем массиве? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему у меня есть значения мусора в динамическом плавающем массиве? [закрыто]

Сообщение Anonymous »

Я написал короткий алгоритм для анализа связанных с биологией CSV-файлами, и он работал отлично, но вдруг я начал получать странные результаты из ниоткуда: я суммирую несколько чисел и ожидаю суммы около 2000, но некоторые значения в Динамический массив поплавок становится как 478479387403. Я не понимаю, когда именно это происходит, потому что все цифры (имена) полностью в порядке, но сумма нет. Кажется, что я скучаю по чему -то очевидному, вы можете мне помочь с этим?int otus = 750;
float* num = new float[100000];
int taxons = 250;
int* tax_pos = new int[otus];
int samples = 1;
int* samp_pos = new int[otus];

... // Importing data about taxons and samples from the csv-file

float** matrix = new float*[taxons];
for (int i = 0; i < taxons; i++) matrix = new float[samples];

for (int i = 0; i < otus; i++)
{
if (tax_pos >= 0 && samp_pos >= 0)
{
printf ("matrix [%d] [%d] += %.0f (i = %d)\n", tax_pos, samp_pos, num, i);
// In this moment all the numbers are ok
matrix[tax_pos][samp_pos] += num;
}
}

for (int i = 0; i < otus; i++) printf ("matrix [%d] [0] = %f\n", i, matrix[0]);
// And here some of the values (matrix [i] [0]) are ok and some of them are 4785487645
< /code>
Проблема не является суммой памяти, я полагаю, потому что я старался гораздо более «тяжелыми» CSV-файлами, и они были проанализированы идеально. Почему эти значения могут так сильно измениться?

Подробнее здесь: https://stackoverflow.com/questions/794 ... loat-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»