Форум программистов, компьютерный форум, киберфорум
Наши страницы

Мусор в элементах массива при передаче в функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Адронный коллайдер http://www.cyberforum.ru/cpp-beginners/thread1166297.html
Каким образом организовать обход массива? Для следующей задачи: Внутри адронного коллайдера образовалось N разновидностей новых частиц в количестве A1, … ,AN единиц каждая. Большая часть новых...
C++ Как передать значение вводимой переменной из формы в класс? Ребят, подскажите, как передать значение вводимой переменной из формы в класс? У меня есть массив кнопок, я нажимаю по кнопке, i=x, j=y, как передать х и у в класс? http://www.cyberforum.ru/cpp-beginners/thread1166283.html
Возведение в квадрат и ошибка "sqare: идентификатор не найден" C++
Компилятор пишет, что "sqare: идентификатор не найден". Подскажите как исправить! sqare должно возводить число в квадрат. #include "std_lib_facilities.h" int main() { setlocale(LC_ALL,...
Двусвязный список: вставка, удаление, просмотр C++
Может есть у кого-нибудь двусвязный список с вставкой, удалением, просмотром, доступу к текущему элементу, передвижением вперёд назад (в стиле с++)?
C++ Определить, какая буква ("С" или "Н") встречается в предложении реже http://www.cyberforum.ru/cpp-beginners/thread1166263.html
2) Составьте программу, определяющую, какая буква "С" или "Н" встречается в предложении реже.
C++ Определить, на какую букву начинается предпоследнее слово в предложении 1) Составьте программу, определяющую, на какую букву начинается предпоследнее слово в предложении. подробнее

Показать сообщение отдельно
Melg
538 / 159 / 64
Регистрация: 23.09.2013
Сообщений: 316
04.05.2014, 20:44
Потому-что в той реализации вы делали следующее:

C++
1
2
3
4
5
6
7
8
9
10
11
int *start_mass = new int[n]; // Вот тут выделен массив под размер N элементов - он же ниже передается в форму
        for (int i = 0; i < n; i++)
        {
            if (mass[i] != ' ')
            {
                start_mass[i] = Convert::ToInt32(Convert::ToString(mass[i])); //Тут инициализируются значениями только 
                                                                                                     //элементы для которых выполнено условия
                                                                                                     //А другие элементы содержат мусор
                count_elements++;
            }
        }
Далее вы передаете массив внутрь другой функции - с измененым размером - в итоге получая скажем исходный массив размера 10 элементов, из которых заполнено значениями только 5 (скажем каждый второй). А в функции queue_actions вы обрабатываете 5 первых элементов ( из которых 1-ый и 3ий содержат не инициализированные значения).

Если бы в качестве индекса для start_mass использовали count_elements - такой проблемы не возникло бы.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru