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

Выдает ошибку в функции

14.12.2019, 23:00. Показов 661. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять в чем ошибка. ОШИБКА: Необработанное исключение по адресу 0x00822D32 в Задание 3.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xDDDDDDDD.
на 72 строке при выводе результирующего массива, при выводе исходный ошибки нет

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
104
105
106
107
108
109
110
111
112
#include "stdafx.h"
#include "iostream"
#include <iomanip>
using namespace std;
 
int ** create_array(int n, int m1, int lim1, int lim2);
void print_array(int ** arr, int n, int m1);
void free_array(int ** arr, int m1);
void create_res_array(int** x, int** y, int** c, int n, int m2, int m1);
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Заданы массивы X(M1,N) и Y(M2,N).\n";
    cout << "Вставить в середину массива X массив Y.\n";
    cout << "Введите размерность массива X:" << endl;
    int n, m1, m2, lim1, lim2;
    cin >> m1 >> n;
    cout << "Введите размерность массива Y:" << endl;
    cin >> m2 >> n;
    cout << "Введите нижний предел для генерации случайных чисел: " << endl;
    cin >> lim1;
    cout << "Введите верхний предел для генерации случайных чисел:" << endl;
    cin >> lim2;
    int **arr = new int*[m1];
    int *a = new int[n];
    int **x = new int*[m1];
    int *xv = new int[n];
    int **y = new int*[m1];
    int *yv = new int[n];
    int **c = new int*[m1 + m2];
    int *cv = new int[n];
    srand(time(0));
    cout << "Исходный массив X:" << endl;
    x = create_array(n, m1, lim1, lim2);
    print_array(x, n, m1);
    free_array(x, m1);
    cout << "Исходный массив Y:" << endl;
    y = create_array(n, m2, lim1, lim2);
    print_array(y, n, m2);
    free_array(y, m1);
    create_res_array(x,y, c, n,  m2,  m1);
    cout << "Результирующий массив:" << endl;
    int mm = m1 + m2;
    print_array(c,n,mm);
    free_array(c, mm);
    system("pause");
    return 0;
}
int ** create_array(int n, int m1, int lim1, int lim2)
{
    int ** arr = new int *[n];
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new int[m1];
    }
    for (int i = 0; i < m1; i++)
    {
        for (int j = 0; j < n; j++)
        {
            arr[i][j] = lim1 + rand() % (lim2 - lim1 + 1);
        }
    }
    return arr;
}
 
void print_array(int ** arr, int n, int m1) 
{
    for (int i = 0; i < m1;i++) 
    {
        for (int j = 0; j < n; j++) 
        {
            cout << arr[i][j] << '\t';
        }
        cout <<endl;
    }
}
void free_array(int ** arr, int m1) 
{
    for (int i = 0; i < m1; i++) 
    {
        delete[] arr[i];
    }
    delete[] arr;
}
 
void create_res_array(int** x, int** y, int** c, int n, int m2, int m1)
{
    int av = m1 / 2;
    for (int i = 0; i < av; i++)
    {
        for (int j = 0; j < n; j++)
        {
            c[i, j] = x[i, j];
        }
    }
    for (int i = 0; i < m2; i++)
    {
        for (int j = 0; j < n; j++)
        {
 
            c[av + i, j] = y[i, j];
        }
 
    }
    for (int i = av; i < m1; i++)
    {
        for (int j = 0; j < n; j++)
        {
            c[m2 + i, j] = x[i, j];
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2019, 23:00
Ответы с готовыми решениями:

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short...

Выдает ошибку в функции
Ошибку выдает на 18 строке , а именно: virtual void get_data() = 0; // чистые виртуальные virtual...

MVS 2012 Выдает ошибку переопределение функции main
По коду, все хорошо, а выдает какую-то не известную ошибку,скажите в чем дело. Запрещено размещать...

Не выводит на экран результат функции или выдает ошибку
Пытаюсь написать код, код выдает не все результаты. Если что-то меняю, то компилируется, но...

2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.12.2019, 23:07 2
Цитата Сообщение от Qwer657 Посмотреть сообщение
Не могу понять в чем ошибка
записи такого типа
Цитата Сообщение от Qwer657 Посмотреть сообщение
c[i, j]
Цитата Сообщение от Qwer657 Посмотреть сообщение
c[av + i, j]
в С++ не применяются

напишите оригинал условия задачи
0
0 / 0 / 0
Регистрация: 22.10.2019
Сообщений: 18
14.12.2019, 23:33  [ТС] 3
Код тот же, извиняюсь за c[av + i, j], просто сразу на двух пишу и видимо скопировал не посмотрев
сейчас поправил, ошибка та же

Добавлено через 7 минут
алгоритм рабочий, проверял отдельно без функций

Добавлено через 7 минут
Даны 2 массива X(M1,N) и Y(M2,N). В середину массива X вставить середину массива Y
0
14.12.2019, 23:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2019, 23:33
Помогаю со студенческими работами здесь

Выдает ошибку в функции в условии if. Не вызывает firstName, secondName и patron
Доброго времени суток. Вот фрагмент кода. Выдает ошибку в функции, а именно в условии if. Не...

Почему при использовании функции scanf программа выдаёт ошибку?
При использовании команды scanf программа выдаёт ошибку. Printf работает нормально. В чем может...

Программа выдает ошибку при выводе структуры в функции Vyvod(int N, struct vehicle*mass)
#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;fstream&gt; #include &lt;iomanip&gt; ...

при вызове функции pow() выдаёт ошибку: test.cpp:(.text+0x59b): undefined reference to `pow'
В чём дело? Добавлено через 1 минуту ps. Заголовок math.h подключен.

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int...


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

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