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

Неверное удаление динамических массивов

14.11.2021, 18:39. Показов 749. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Столкнулся с проблемой. 3 массив при удалении выдаёт ошибку.
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
bool find(int* arr1, int& size, int& f) // ищет элемент f в arr1
{
    bool ret = false;
    for (int i = 0; i <= size; i++) if (arr1[i] == f) ret = true;
    return ret;
}
 
int main()
{
    int size1 = 5, size2 = 5;
 
    cout << "size1 :\n"; //cin >> size1;
    cout << "size2 :\n"; //cin >> size2;
 
    int* array1 = new int[size1];
    int* array2 = new int[size2];
 
    cout << "1 :";
    for (int i = 0; i < size1; i++)
    {
        array1[i] = rand() % 9 + 1;
        cout << array1[i] << " ";
    }
    cout << endl;
    cout << "2 :";
    for (int i = 0; i < size2; i++)
    {
        array2[i] = rand() % 9 + 1;
        cout << array2[i] << " ";
    }
    cout << endl;
 
    int size3 = 0;
    int* array3Copy = new int[size3+1];
 
    for (int i = 0; i < size2; i++)
    {
        if (!find(array3Copy, size3, array2[i]))
        {
            array3Copy[size3] = array2[i];
            size3++;
        }
    }
 
    for (int i = 0; i < size1; i++)
    {
        if (!find(array3Copy, size3, array1[i])) // если данный елемент не найден в 3 массиве то добавляем его
        {
            array3Copy[size3] = array1[i];
            size3++;
        }
    }
 
    cout << "3 :";
    for (int i = 0; i < size3; i++)
    {
        cout << array3Copy[i] << " ";
    }cout << endl;
 
    delete[] array2;
    delete[] array1;
    delete[] array3Copy;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2021, 18:39
Ответы с готовыми решениями:

Удаление динамических массивов С++
Доброго времени суток. У меня такое задание: Из одномерного массива А сформировать массивы B&lt;0, C&gt;0, D=0. Переписать в массив А...

Удаление динамических массивов
Здравствуйте, вобщем проблема в этом куске кода: int *makeDigits(int n) { int *digits = new int; int i = 2; while (n != 0) ...

Динамических массивов
Всем доброго дня!!!Если есть минутка, помогите сделать эти задания!буду очень благодарен!! 1. Заданы два массива А(5) и В(5)....

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
14.11.2021, 19:13
Запустил код. Работает? Какая ошибка?
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
14.11.2021, 19:57
Лучший ответ Сообщение было отмечено PuShO4Ek как решение

Решение

не стал заморачиваться с минимальным размером третьего массива, можете допилить если именно так надо
Кликните здесь для просмотра всего текста
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
  #include <iostream>
    #include <cstdlib>
    #include <ctime>
 
    using namespace std;
    int main(){
     setlocale (LC_ALL, "Rus");
     srand ( time(NULL) );
    int n,m;
    cout << "Введите размер 1 массива :";
    cin >> n;
    cout << "Введите размер 2 массива :";
    cin >> m;
    int* array1 = new int[n];
    int* temp = new int[n] {};
    int* array2 = new int[m];
    cout << "Первый массив  :";
    for (int i = 0; i < n; i++)
    {
        array1[i] = rand() % 9 + 1;
        cout << array1[i] << "  ";
        for (int j = 0; j < i; j++)   // ищем повторы
        {
            if (array1[i] == array1[j])
                temp[i] = 1;            // помечаем
        }
    }
    cout << endl;
    cout << "Первый повторы :";
      for (int i = 0; i < n; i++)
           cout << temp[i] << "  ";
    cout << endl;
    cout << "Второй массив :";
    for (int j = 0; j < m; j++)
    {
        array2[j] = rand() % 9 + 1;
        cout << array2[j] << "  ";
    }
    cout << endl;
    int size3 = n;
    int count = 0;
    int* array3Copy = new int[size3] {};
 
    for (int i = 0; i < n; i++)
    {
     bool nt = true;
     for (int j = 0; j < m; j++) {
        if (array1[i] == array2[j] || temp[i]==1) {
            nt = false;
            temp[i]=1;
            break;
        }
       }
       if (nt){
        array3Copy[count++] = array1[i];
       }
    }
    cout << endl;
 
    for (int i = 0; i < count; i++)
    {
        cout << array3Copy[i] << " ";
    }
 
    delete[] array2;
    delete[] array1;
    delete[] temp;
    delete[] array3Copy;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2021, 19:57
Помогаю со студенческими работами здесь

Обработка динамических массивов
cout &lt;&lt; &quot;please enter values of array#1&quot; &lt;&lt; endl; int alen = 0; int* a = createArray(&amp;alen); cout &lt;&lt; &quot;please enter values...

Использование динамических массивов
Помогите, пожалуйста. Надо выполнить задание, используя динамические массивы В массиве с четным количеством элементов (2N) находятся...

Адреса динамических массивов
Как считать конкретное количество элементов из динамического массива чар в строку string? Используя при этом адрес первого из нужных...

Создание динамических массивов
Здравствуйте! Есть код, решающий важную для меня задачу - находит и выводит все дистанции (расстояния/длины) между точками. И...

Использование динамических массивов
Прошу вашей помощи в решении след задачи (не нужно мне, чтоб вы решали, а хотя б подсказали как все это организовать). Мне надо решить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru