Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 22.02.2019
Сообщений: 34

Ошибка при delete[]

22.02.2019, 17:52. Показов 3800. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не понимаю, почему при delete[] Y; выдает ошибку. Без этой строки код работает на ура. Надеюсь на вашу помощь.

Что делает программа:
Кликните здесь для просмотра всего текста

Исходные данные: массив чисел размером N.

Сформировать другой массив из элементов исходного массива, величины
которых находятся в заданных пределах от А до В, и вставить в середину
полученного массива среднее значение элементов этого массива.


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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <conio.h>
#include <ctime>
 
 
using namespace std;
 
void CreateX(int X[], int N)                        
{
    srand(time(NULL));
 
    printf("Исходный массив: ");
 
    for (int i = 0; i < N; i++)
    {
        X[i] = rand() % 50;
        printf(" %d ", X[i] );
    }
 
}
 
int CreateY(int X[], int N, int Y[], int A, int B)
{
    int k = 0;
    for (int i = 0; i < N; i++)
    {
        if (i >= A - 1 && i <= B - 1) 
        {
            Y[k] = X[i];
            k++;
        }
    }
 
 
    return k;
}
 
int FindAverageValue(int Y[], int k)
{
    int summ = 0; // сумма элементов
    for (int i = 0; i < k; i++)
    {
        summ += Y[i];
    }
    int AverageValue = round(summ / k); // среднее значение
 
    return AverageValue;
}
 
 
void FindAveragePos(int Y[], int k, int AverageValue)
{
    int AveragePos = ceil(k / 2);
 
    for (int i = k + 1; i > AveragePos; i--)
    {
        Y[i] = Y[i - 1];
    }
 
    Y[AveragePos] = AverageValue;
}
 
void InferenceY(int Y[], int k)
{
    printf("\nПолученный массив: ");
    for (int i = 0; i < k + 1; i++)
    {
        printf(" %d ", Y[i]);
    }
}
 
int main()
{
    int N; // количество элементов
    
    setlocale(LC_ALL, "rus");
 
    printf("Введите количество N элементов в массиве: ");
    scanf_s("%d", &N);
 
    int *X = new int[N];
 
    CreateX(X, N);
    
    printf("\nВведите пределы в формате [A ... B]: ");
    int A, // левый предел
        B; // правый предел
        
    scanf_s("%d %d", &A, &B);
 
    int *Y = new int[B - A + 2];
    int k = CreateY(X, N, Y, A, B);
    delete[] X;
 
    int AverageValue =  FindAverageValue(Y, k);
 
    FindAveragePos(Y, k, AverageValue);
 
    InferenceY(Y, k);
    delete[] Y;
 
    _getch();
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2019, 17:52
Ответы с готовыми решениями:

Ошибка при использовании delete
И снова здравствуйте! Пишу раз третий.Я уже готов убицца ап сцену изза этого delete.Я не понимаю что не так делаю: class CMenu { ...

Ошибка при использовании new[] / delete[]
Здравствуйте. Пишу учебную программу, моделирующую движение лифта (если кто учебник Дейтелов читал, тот поймет :) ). Для начала приведу...

Ошибка при вызове delete
Вот код // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include...

46
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
23.02.2019, 18:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _stanislav Посмотреть сообщение
думаю, если не оговорено конкретно, куда (влево или вправо) вставлять решает разработчик, либо конечно уточнить у клиента
Программа не может выдавать результат, зависящий от разработчика.
Цитата Сообщение от _stanislav Посмотреть сообщение
уточнить у клиента
Тупой меджмент в промышленности (дешёвого мэйнстрима, конечно) это отвратительный паттерн для применения в образовании. Цель образование не сделать человека зомби. Тот кто таким не родился имеет шанс им стать при отсутствии должного иммунитета, без усилий со стороны обучающих структур. Цель образования, дать максимум знаний при минимуме усилий и времени. Беда в том, что большинство тех, кто может работать головой, работают не в образовании.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
23.02.2019, 18:56
Цитата Сообщение от IGPIGP Посмотреть сообщение
Беда в том, что большинство тех, кто может работать головой, работают не в образовании.
хочешь сказать что задание ему дал тот кто не может работать головой?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
23.02.2019, 19:03
Цитата Сообщение от _stanislav Посмотреть сообщение
хочешь сказать что задание ему дал тот кто не может работать головой
Хочу сказать, что бардак. Даже человек не тупой, в той системе не может ни чего сделать. Я там был. Работал в НИЧ правда, то есть не имел преподавательской нагрузки, но видел это достаточно хорошо.
_stanislav, ещё раз. Есть поток в 150 студентов и есть набор тестов проверяющих результаты работ...
Да хрен, с ними с тестами. А уважение к студенту? В императорских лицеях ведь не только лицеисты преподавателей на Вы величали. Преподаватели учеников, - тоже. И поверьте, это же не только от того, что среди лицеистов были дети великих князей. Такова была культура. Ученик слабее Учителя и достоин снисхождения и уважения.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
23.02.2019, 19:15
Цитата Сообщение от IGPIGP Посмотреть сообщение
Такова была культура.
кем бы ты не был, человеком будь, вот моя культура. остальное все мелочи и предрассудки, стереотипы. ну да ладно, а бардак катится по инерции, нужна очень большая сила что бы его затормозить а тем более запустить реверс.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
23.02.2019, 19:18
Цитата Сообщение от _stanislav Посмотреть сообщение
остальное все мелочи и предрассудки, стереотипы
Желаю, чтобы все? Я не зря начал с вами на вы. Переход на ты был ошибкой.
Цитата Сообщение от _stanislav Посмотреть сообщение
кем бы ты не был, человеком будь, вот моя культура. остальное все мелочи и предрассудки, стереотипы. ну да ладно, а бардак катится по инерции, нужна очень большая сила что бы его затормозить а тем более запустить реверс.
Я не призывал к актам массового неповиновения. Я предложил посмотреть условие внимательно. И вы выступили в защиту этого добра. Вот и всё. Больше оффтопить не буду.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
23.02.2019, 19:21
Цитата Сообщение от IGPIGP Посмотреть сообщение
И ты выступил в защиту этого добра.
когда?

Добавлено через 8 секунд
где?

Добавлено через 1 минуту
IGPIGP, я хотел что бы ты конкретизировал , твои высказывания бывают немного туманные.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
23.02.2019, 23:02
Цитата Сообщение от Посмотреть сообщение
думаю, если не оговорено конкретно, куда (влево или вправо) вставлять решает разработчик
Вот этот перл в ответ на то, что условие неоднозначно (написано спустя рукава, штаны, сопли и пр.).
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
23.02.2019, 23:38
IGPIGP, _stanislav, неоднозначное условие может для того неоднозначное, чтобы понять, как студент понимает задачу.
Который обязан уточнить об этом преподавателя.
За непонимание этого момента, если бы был преподом, обязательно бы снял балл.
Кстати, способ нахождения индекса середины однозначно "втыкает" слева.
Так что, wcoestarw, обязательно обрати внимание на этот момент.

Добавлено через 5 минут
IGPIGP, не всегда постановка задачи бывает однозначной.
Разумеется, желательно уточнить у заказчика.
Но когда это непринципиально, то, соглашусь с _stanislav,
разработчик обычно сам принимает решение о реализации.
Лично я постоянно с таким сталкиваюсь...

Добавлено через 2 минуты
Это было не оправдание этого добра, а руководство к действию, как выходить из ситуации
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.02.2019, 00:52
Цитата Сообщение от liv Посмотреть сообщение
IGPIGP, не всегда постановка задачи бывает однозначной.
Она редко бывает однозначной. Но если речь о учебном процессе, то тут не должно быть такого. Мне приходилось видеть некомпетентность, недостаток времени для качественной формулировки и оставление зацепок для давления на исполнителя (по цене, по дополнительным объёмам и пр.). Это 3 основные причины и последняя, особенно часто встречается. Однако, у студента позиция намного слабее чем у преподавателя, а ответственность преподавателя за результат совместной деятельности (должна быть) выше. Случаи когда преподаватель ждёт поступлений я не рассматриваю, так как в этом разе подобные "ашипкы" объясняются иначе.
Не нужно оправдывать халатность преподавания. Нельзя требовать от студента точности и обязательности при таком преподавании. А говорить о "закалке в бою" тут не уместно. На такое можно списать и холод в аудиториях и недостаточное оборудование лабораторий, обеспечение общежитий и пр.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
24.02.2019, 01:52
IGPIGP, мне все же кажется, что немного сгущаем краски. Данный момент достоин небольшого вопроса-ответа в диалоге препода со студентом. А ещё лучше, если студент сам покажет понимание данной ситуации, а студенты обязаны учиться вдумчиво выполнять задания, то ему это будет только в плюс.
Скажу больше, именно такие задачи с небольшой изюминкой позволяют учиться подходить к выполнению задания творчески и вдумчиво.
А не быть ремесленниками, способными делать только точно поставленную задачу.
Так что, никакой халатности тут не вижу. Впрочем, во многом все зависит от личности преподавателя.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.02.2019, 02:00
Цитата Сообщение от liv Посмотреть сообщение
задачи с небольшой изюминкой
Изюминки? Если нет уровня учить математику, алгоритмы, технологии, то такие задачи не могут быть заменой. liv, я тут вижу ординарную халатность. Если человек говорящий студенту о том, что у массива есть середина и человек, который будет ему же рассказывать о итераторах, это одно и то же лицо, это беда. У студента есть обязательства: учить, выполнять и сдавать в срок. А давайте он тоже будет писать ахинею, а преподы (проявляя любовь к изюму и креативя напропалую) будут выкатывать этому студенту балл повыше, чем тому кто в поте лица оттачивал точность и изящество?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
24.02.2019, 02:56
IGPIGP, ну мы же не знаем, что это за препод. Зачем впадать в крайности?
И зачем противопоставлять точность и изящество умению легко разбираться в изюминках. Одно другому не мешает.
И почему сразу писать ахинею? Что у Вас за любовь к крайностям?
По мне, за ахинею надо "бить по рукам"
По вашему получается, что студент должен иметь ВСЕГДА четко прописанные условия?
А когда же ему учиться думать? Если непонятно, пусть спрашивает.
Пусть применяет свое видение решения проблемы. Это и есть учеба.
Надо учиться находить решения в разных ситуациях.
А не просто сделать, сдать и забыть.
Именно его умение думать, постоянно учиться и пригодится ему в дальнейшем.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 06:23
IGPIGP, liv, все ваши рассуждения правильные, я считаю так, отношение между преподавателем и студентом должны быть равноценными, то есть ни преподаватель не должен борзеть ни студент, так как это тот же бизнес, преподаватель и студент это партнеры, и ответственность и прибыль между партнерами должна быть разделена на пополам, если перевес идет в какую то одну сторону, если у преподавателя больше поблажек чем у студента, то такие отношения не сильно продуктивны.

Добавлено через 1 минуту
золотая середина
2
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.02.2019, 08:50
Цитата Сообщение от liv Посмотреть сообщение
И почему сразу писать ахинею? Что у Вас за любовь к крайностям?
Я не люблю "ползучей" относительности там, где нужна определённость.
Цитата Сообщение от liv Посмотреть сообщение
И зачем противопоставлять точность и изящество умению легко разбираться в изюминках.
Это не я делаю. Я различаю изюминки и фекалинки.
Цитата Сообщение от liv Посмотреть сообщение
По вашему получается, что студент должен иметь ВСЕГДА четко прописанные условия?
ВСЕГДА это не про меня, если речь идёт о делах "житейских". Однако у преподавателя есть куда меньше прав на поблажки и исключения.
Цитата Сообщение от liv Посмотреть сообщение
А когда же ему учиться думать?
В том-то и дело, что если преподавателю слабо затеять разговор о марковских алгоритмах, скажем, он будет изводить студента беготнёй в противоположных направлениях. Молодые одарённые люди, это богатство нации. Их время в образовательной системе - драгоценность, которая вернётся позже. В наших условиях, нужно отметить, что проблема в очень низком уровне понимания происходящего, даже в кругах, называемых интеллектуальной элитой. Это потому, в частности, что интеллектуальная и материальная элиты не пересекаются даже в малых подмножествах. Почти.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 09:28
Цитата Сообщение от IGPIGP Посмотреть сообщение
это богатство нации
я бы сказал, это богатство человечества, нынешней цивилизации. Так как цивилизация имеет ограниченный срок существования, то обсуждаемая проблема очень даже актуальна.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.02.2019, 09:40
Цитата Сообщение от _stanislav Посмотреть сообщение
богатство человечества, нынешней цивилизации
Тут всё получше чем у конкретных государств, не будем показывать пальцами (когда и так бьём копытом в грудь). Поэтому и уезжают те, кто не видят перспектив. Конечно, глобализация привела к резкому снижению подмножества от пересечения интеллектуальных и материальных элит и на Западе и результаты видны невооружённым глазом, но у нас есть отличительная черта, пережить которую не удаётся. Мы гордо стараемся быть не ниже плинтуса, в относительном измерении.
_stanislav, предлагаю оффтоп остановить. Пусть взгляды на условие данной задачи останутся как есть и пусть читатели решат, какой им ближе.
1
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 09:47
Цитата Сообщение от IGPIGP Посмотреть сообщение
предлагаю оффтоп остановить
поддерживаю
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.02.2019, 10:28
Цитата Сообщение от wcoestarw Посмотреть сообщение
вставить в середину
полученного массива среднее значение элементов этого массива
Ещё перл, кстати. Я вначале подумал, что среднее надо считать от элементов исходного массива. То есть, если элементов в интервале AB не найдётся, то выходного массива вообще не будет. Если найдётся 1 элемент то в итоге массив будет состоять из 2-х одинаковых. Тоже забавно.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 10:34
Цитата Сообщение от IGPIGP Посмотреть сообщение
То есть, если элементов в интервале AB не найдётся, то выходного массива вообще не будет. Если найдётся 1 элемент то в итоге массив будет состоять из 2-х одинаковых.
если так то тогда return -1;
1
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
24.02.2019, 10:43
Я согласен с _stanislav, надо сказать, что таких элементов нет.

Добавлено через 3 минуты
Если будет один, то да, будет два одинаковых. Ничего страшного.

Добавлено через 1 минуту
А можно, в случае одного, и не добавлять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2019, 10:43

Ошибка при использовании delete[] C++
Здравствуйте. Я создал класс, где должен динамически выделить память, а потом в конце программы, с помощью деструктора, освободить...

Ошибка при освобождении памяти (delete)
Здравствуйте! Есть массив lines, созданный вот так : int *line = new int ; Потом, пытаюсь его удалить и пересоздать : delete...

Ошибка при работе delete в деструкторе
enum place { first = 1, second }; class Passanger { public: Passanger(); void Call(); void PushButton(); int...

Ошибка при удалении массива с помощью delete
Изучаю C++ и у меня задание разбить текст неопределенной длинны на массив строк. Нацарапал класс типа string ниже выложу. В него задача...

Ошибка при Delete[] и удаление латинских букв
Задача без ипользования стандартных библиотек ввести размер строки и после этого строку, например и после этого из строки удаляются все...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru