Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690

Segmentation fault (core dumped)

09.03.2016, 21:22. Показов 2027. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. При вводе любых чисел, кроме 0 - й, выводит ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
 
void initializationArray (int S, int **a);
void cleaningMemory (int S, int **a);
 
int main (void)
{
  int SIZE1, SIZE2,
      **array1 = NULL, **array2 = NULL;
  
  std::cout << "Enter first size array: ";
    std::cin >> SIZE1;
  std::cout << "Enter second size array: ";
    std::cin >> SIZE2;
 
 initializationArray (SIZE1, array1); 
 initializationArray (SIZE2, array2); 
 
 cleaningMemory (SIZE1, array1);
 cleaningMemory (SIZE2, array2);
  return 0;
}
 
void initializationArray (int S, int **a)
{
  a = new int * [S];
  for (int i = 0; i < S; ++i)
  {
    a [i] = new int [S];
  }
}
 
void cleaningMemory (int S, int **a)
{
  delete [] a;
  for (int i = 0; i < S; ++i)
  {
    delete [] a [i]; 
  }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2016, 21:22
Ответы с готовыми решениями:

Segmentation fault (core dumped)
Добрый день. Подскажите, при перемножении матриц более чем 600х600, появляется ошибка Segmentation fault (core dumped). #include...

Segmentation fault(core dumped)
#include &lt;iostream&gt; int replace1(char *ptr, char c, char m); int main() { char *ptr = &quot;cccccccc&quot;; int i =...

Segmentation fault (core dumped)
Доброго времени суток. Задача примерно такая. Сделать структуру с данными, класс List для управления в динамике этой структурой и класс с...

7
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
09.03.2016, 21:47
Лучший ответ Сообщение было отмечено Nemovok как решение

Решение

Nemovok,
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
 
int ** initializationArray (int S);
void cleaningMemory (int S, int ** a);
 
int main (void)
{
  int SIZE1, SIZE2,
      **array1 = NULL, **array2 = NULL;
 
  std::cout << "Enter first size array: ";
    std::cin >> SIZE1;
  std::cout << "Enter second size array: ";
    std::cin >> SIZE2;
 
 array1 = initializationArray (SIZE1);
 array2 = initializationArray (SIZE2);
 
 cleaningMemory (SIZE1, array1);
 cleaningMemory (SIZE2, array2);
  return 0;
}
 
int ** initializationArray (int S)
{
  int ** a = new int * [S];
  for (int i = 0; i < S; ++i)
  {
    a [i] = new int [S];
  }
  return a;
}
 
void cleaningMemory (int S, int **a)
{
  for (int i = 0; i < S; ++i)
  {
    delete [] a [i];
  }
  delete [] a;
}
1
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
09.03.2016, 21:48
C++
1
2
3
4
5
6
void cleaningMemory (int S, int **a)
{
  for (int i = 0; i < S; ++i)
      delete[] a[i]; 
  delete[] a;
}
1
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
09.03.2016, 22:37  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
void cleaningMemory (int S, int **a)
{
* for (int i = 0; i < S; ++i)
* * * delete[] a[i];
* delete[] a;
}
А что поменялось? По-прежнему не работает.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
09.03.2016, 22:41
Цитата Сообщение от Nemovok Посмотреть сообщение
По-прежнему не работает.
Естественно. Это только один из косяков.
Основной косяк из-за того, что функция initializationArray не записывает адреса в main (они остаются NULL), т.к. в функцию передается копия указателя.
Проблемы решены в посте 2, который ты почему-то проигнорировал.
1
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
09.03.2016, 22:48  [ТС]
Подскажите пожалуйста, что означает эта строчка?
C++
1
    int ** initializationArray (int S);
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
09.03.2016, 22:52
Цитата Сообщение от Nemovok Посмотреть сообщение
Подскажите пожалуйста, что означает эта строчка?
Декларация функции, возвращающей указатель на указатель и принимающей целое число - размер.
Это нужно для того, чтобы с помощью нее изменить указатель в main (присвоить), чтобы потом корректно работать с ним там. Можно было оставить указатель на указатель в параметре, но тогда его пришлось бы принимать по ссылке (или еще одному указателю - что дало бы нам 3й уровень косвенности), чтобы изменения отразились в main, а это не очень красиво.
1
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
09.03.2016, 23:04  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Декларация функции, возвращающей указатель на указатель и принимающей целое число - размер.
Это нужно для того, чтобы с помощью нее изменить указатель в main (присвоить), чтобы потом корректно работать с ним там. Можно было оставить указатель на указатель в параметре, но тогда его пришлось бы принимать по ссылке (или еще одному указателю - что дало бы нам 3й уровень косвенности), чтобы изменения отразились в main, а это не очень красиво.
Ого, пойду практиковаться, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2016, 23:04
Помогаю со студенческими работами здесь

Объединение двух деревьев бинарного поиска ( Segmentation fault (core dumped) )
Блин, народ, сломал голову. Вроде алгоритм простенький, но не работает. Нужно объединить два дерева бинарного поиска. Функция...

Segmentation fault
Доброго времени суток. Столкнулся в программе с ошибкой Segmentation fault. Вообще, задача отсортировать данные по одному из параметров, но...

Segmentation Fault
void Coder::set(const char * buf, size_t size) { if ((buf == nullptr)) { throw std::logic_error(&quot;buf == nullptr&quot;); } if...

Segmentation fault
не могу скинуть код по личным причинам. я использую строковые операторы strcmp, strcpy. выводит ошибку segmetation fault core dump....

Segmentation fault
Почему при таком варианте происходит Segmentation fault? vec3f trace(const Scene&amp; scene, const Ray&amp; ray) { const RenderObject*...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru