Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 13
1

Вылетает из запущенной программы

21.10.2012, 14:53. Показов 819. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна помощь, при сборке, все работает, но потом после ввода второго-третьего числа, окно закрывается. Кто подскажет, что делать?
Вот сама функция кода, из-за которой вылетает.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
QString MainWindow::Binary(int number)
{
    int N=0;
    int *B = new int[N];
    while (number!=0)
    {
        N++; B[N-1]=number%2;  number/=2;
    }
    QString result;
    for (int i=N-1;i>=0;i--)
    {
        result.append(QString("%1").arg(B[i]));
    }
    return result;
}
C++ (Qt)
1
 ui->lineEdit_2->setText(Binary(а));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2012, 14:53
Ответы с готовыми решениями:

Показ запущенной программы
И снова вопросик) Как все знают Диспетчере W7 есть такая кнопка Переключится, он показывает...

Поиск запущенной программы по ее имени
Возникла потребность в таких действиях: есть ресурсоемкая программа, которая должна работать, пока...

Посчитать CRC32 запущенной программы
Как посчитать контрольную сумму того же exe файла который в данный момент выполняется.

Определить путь запущенной программы
Добрый вечер. Подскажите пожалуйста, как определить откуда были запущены программы. Раньше данный...

5
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
21.10.2012, 15:09 2
Цитата Сообщение от Testero Посмотреть сообщение
C++
1
2
int N=0;
int *B = new int[N];
А на что ты рассчитывал?
0
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 13
21.10.2012, 15:18  [ТС] 3
Если можно, то конкретнее, что не так?

Добавлено через 29 секунд
Если менять изначально N, то ничего не меняется.
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
21.10.2012, 15:34 4
Testero, то есть ты считаешь, что выделение массива нулевой длины — это нормально?
А потом ты инкрементируешь N и всё равно используешь её же в качестве размера.
0
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 13
21.10.2012, 15:46  [ТС] 5
Извини за мое не понимание, но не мог бы ты объяснить и если не сложно показать, как было бы правильно, а?
0
145 / 67 / 14
Регистрация: 30.12.2011
Сообщений: 137
21.10.2012, 16:16 6
Testero,

Крашится из-за того, что у тебя массив нулевой длины, ибо элементов в массиве равно нулю. Хочешь динамически изменять количество элементов массива - используй QVector (функция push_back()). Для определения размера вектора - используй функцию вектора size(). И еще, кто будет память очищать? После динамического выделения памяти с помощью оператора new нужно очищать память с помощью оператора delete.
0
21.10.2012, 16:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2012, 16:16
Помогаю со студенческими работами здесь

Переименование файла запущенной программы
Подскажите вот у меня есть программа запускаемая через файл с названием timers.exe Я хочу скачать...

Проверка программы, запущенной через Shell
Я использую внешнюю программу для расчётов определённого вида, при этом запускаю её через Shell()....

Ожидание завершения работы запущенной программы
здравствуйте. можноли в программе на VB запустив в скрытом режиме консольную утилиту и передав...

Копирование запущенной программы в нужный каталог
копирование запущенной программы в нужный каталог, подскажите как это сделать не зная имени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru