Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
#1

Программа завершается с ошибкой Killed - C++

20.02.2014, 15:30. Просмотров 519. Ответов 14
Метки нет (Все метки)

Программа завершается с ошибкой Killed, когда я выделяю очень много динамической памяти, но меньше чем есть в наличии всей памяти. Как исправить эту ошибку?
Программа завершается с ошибкой Killed
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 15:30     Программа завершается с ошибкой Killed
Посмотрите здесь:

Программа завершается с ошибкой, подскажите почему - C++
Вводится координата шахматной доски где распологается конь, это координата при выводе обозначается "К",клетки которые бьет конь...

Программа аварийно завершается с ошибкой "map/set iterators are incompatible" - C++
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в...

Собранное приложение завершается с ошибкой - C++
Здравствуйте. Подскажите пожалуйста новичку. Взял приложение из учебника, переписал в Visual Studio, собрал, а оно выкидывает. Приложение...

Не прогружаются каскады haarcascade_frontalface_alt.xml в Visual Studio 2010. OpenCV. Завершается с ошибкой 1 - C++
Все форумы перечитала, много вариантов испробовала, но результата никакого. Подскажите кто сталкивался с подобной проблемой. Код взят...

Программа не завершается - C++
Здравствуйте! 1) Моя программа на первом же тесте превышает положенное время (она не долго работает, она просто не завершается)....

Не завершается программа - C++
После ввода массива консоль не закрывается, почему? #include "stdafx.h" #include <fstream> #include <stdlib.h> #include <iomanip> ...

Программа не завершается корректно - C++
Написал программу, определяющую наибольшее из двух введённых пользователем чисел. Решил усложнить её и завершить её только нажатия,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
20.02.2014, 15:51     Программа завершается с ошибкой Killed #2
Цитата Сообщение от programina Посмотреть сообщение
но меньше чем есть в наличии всей памяти.
а политика распределения памяти какая стоит?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
20.02.2014, 16:01     Программа завершается с ошибкой Killed #3
Цитата Сообщение от programina Посмотреть сообщение
Как исправить эту ошибку?
Показать код для начала.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
20.02.2014, 16:18  [ТС]     Программа завершается с ошибкой Killed #4
Цитата Сообщение от Tulosba Посмотреть сообщение
Показать код для начала
Если ввести 999999999999999999, то напишет что-то про bad alloc, а если поменьше, например 222222222222222222, то просто killed
C++
#include <stdio.h>
#include <locale.h>
#include <math.h>
 
 
int moo()
{
    setlocale(LC_ALL, "Russian");
 
    char s[1628400];
    int a[7];
    int k = 0;
    int n = 0;
    printf("Введите число n: ");
    scanf("%s", s);
 
    for(int i = 0; i < 7; i++)
        if(s[i] >= '0' && s[i] <= '9'){
            a[k] = s[i]-'0';
            k++;
        }
 
    for(int i = 0; i < k; i++)
        n += a[k-i-1] * pow10(i);
 
    printf("Вы ввели число %d\n\n", n);
 
    return n;
}
 
 
int main(int argc, char *argv[])
{
    const int N = moo();
 
 
    float **x = new float*[N];
    for(int i = 0; i < N; i++) x[i] = new float[N];
    printf("Память выделена\n");
 
 
    for(int i = 0; i < N; i++)
        for(int j = 0; j < N; j++)
            x[i][j] = 0.0;
 
 
    for(int i = 0; i < N; i++) delete [] x[i];
    delete [] x;
    printf("Память освобождена\n");
}
Добавлено через 28 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
а политика распределения памяти какая стоит?
Не знаю.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
20.02.2014, 16:28     Программа завершается с ошибкой Killed #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Скорее всего, прибивает ядро. Больше вроде некому.
1. Узнать pid процесса.
2. Посмотреть в логи (/var/log/syslog).
3. Найти сообщение в духе "Out of memory: Kill process <pid>"
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
20.02.2014, 16:36     Программа завершается с ошибкой Killed #6
Ты вводишь число в виде строки потому что оно очень большое и не помещается в int, а потом преобразуешь его в int в надежде на то что оно туда поместится?
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
20.02.2014, 16:43  [ТС]     Программа завершается с ошибкой Killed #7
Цитата Сообщение от 0x10 Посмотреть сообщение
Скорее всего, прибивает ядро. Больше вроде некому
Тоже склоняюсь к такому варианту, потому что на виндовсе всегда bad alloc пишет.
Цитата Сообщение от castaway Посмотреть сообщение
Ты вводишь число в виде строки потому что оно очень большое и не помещается в int, а потом преобразуешь его в int в надежде на то что оно туда поместится?
Мне так и нужно, например пользователь введет какую-нибудь ерунду вместо числа, а программа преобразует эту ерунду в число с максимум 7-ю цифрами.
0x10
20.02.2014, 16:46
  #8

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Мне так и нужно, например пользователь введет какую-нибудь ерунду вместо числа, а программа преобразует эту ерунду в число с максимум 7-ю цифрами.
Если пользователь ввел ерунду, то лучше сообщить ему об этом и не делать вообще ничего. А то получается, что он пытался вводить одни данные, а программа по какой-то своей логике решила работать на других.

Tulosba
20.02.2014, 16:48
  #9

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
а программа по какой-то своей логике решила работать на других.
программ(ин)е лучше знать, что хочет пользователь

programina
20.02.2014, 16:51  [ТС]
  #10

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
Если пользователь ввел ерунду, то лучше сообщить ему об этом и не делать вообще ничего. А то получается, что он пытался вводить одни данные, а программа по какой-то своей логике решила работать на других.
Я думаю, что не стоит ничего сообщать пользователю, потому что если он на запрос "Введите число" вводит ерунду, то он либо в невменяемом состоянии, либо издевается над програмой.

0x10
20.02.2014, 16:52
  #11

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
если он на запрос "Введите число" вводит ерунду, то он либо в невменяемом состоянии, либо издевается над програмой
Последнее вполне уместно, особенно если в графе "должность" значится "Специалист по тестированию ПО".

BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 342
21.02.2014, 19:54     Программа завершается с ошибкой Killed #12
Подскажите пожалуйста, как модернизировать командную строку до того терминала, что на скрин-шоте?
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
21.02.2014, 20:06  [ТС]     Программа завершается с ошибкой Killed #13
BESSON_off, просто установите линукс. Там терминал по умолчанию красивее, чем в виндовсе.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 342
21.02.2014, 21:00     Программа завершается с ошибкой Killed #14
Цитата Сообщение от programina Посмотреть сообщение
просто установите линукс
а в окнах подобного не придумать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 21:15     Программа завершается с ошибкой Killed
Еще ссылки по теме:

Программа сразу завершается - C++
Здравствуйте! Я написал программу с конфигурацией решения Release, при запуске exe-файла программа тут же закрывается, а то что она выводит...

программа завершается аварийно - C++
запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо...

Зависает и не завершается простейшая, пустая программа - C++
Не завершается выполнение простейшей, пустой программы. После запуска, процесс продолжает висеть в памяти и не завершается даже через...

Рекурсия, почему программа завершается аварийно? - C++
Подскажите, почему не работает рекурсия?? #include &lt;iostream&gt; using namespace std; void fn(int value) { fn(value); } int...

Программа завершается при любых действиях пользователя - C++
Программа заканчивается, даже если пользователь выбрал продолжить программу. В чём проблема? Код программы: #include &lt;conio.h&gt;; ...


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

Или воспользуйтесь поиском по форуму:
programina
21.02.2014, 21:15  [ТС]     Программа завершается с ошибкой Killed
  #15

Не по теме:

Цитата Сообщение от BESSON_off Посмотреть сообщение
а в окнах подобного не придумать?
Врядли. Даже если есть то скорее всего не очень качественное. Посмотрите в гугле по запросу "Terminal Emulator for Windows", может повезет и найдете что-нибудь.

Yandex
Объявления
21.02.2014, 21:15     Программа завершается с ошибкой Killed
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru