0 / 0 / 1
Регистрация: 19.02.2018
Сообщений: 26
1

Нарушение прав доступа при чтении по адресу

19.02.2018, 19:57. Показов 16348. Ответов 6
Метки нет (Все метки)

Всем привет, помогите пожалуйста!

Вызвано исключение по адресу 0x00C329FB в ConsoleApplication44.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC.

Код:

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
#include<iostream>
using namespace std;
void set(int[], int, char);
int mul(int k[], int l[], int i);
int main()
{
    setlocale(LC_ALL, "Russian");
    int *x[3], *y[3], *z[4], *p[4];
    int r, t;
    int a, b;
    a = 3;
    b = 4;
    r = mul(x[3], y[3], a);
    t = mul(z[4], p[4], b);
    if (r > t)
        cout << "True" << endl;
    else
        cout << "False" << endl;
    system("pause");
}
void set(int vv[], int N, char Name)
{
    cout << "Ввод массива " << Name << endl;
    for (int i = 0; i<N; i++)
    {
        cout << N << "[" << i << "]=";
        cin >> vv[i];
    }
}
int mul(int k[], int l[], int i)
{
    int h, w;
    for (int j = 0; j < i; j++)
    {
        h = k[j] * l[j];
        w = w + h;
    }
    return w;
}
Добавлено через 7 минут
Ругается на 33 строку

Добавлено через 3 минуты
Эта которая вот: h = k[j] * l[j]; , чтобы вам не считать)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2018, 19:57
Ответы с готовыми решениями:

Вызвано исключение по адресу 0x013C1891 в Jacobi.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
#include &lt;math.h&gt; const double eps = 0.001; ///&lt; желаемая точность /// N - размерность...

Вызвано исключение по адресу 0x00B31BEF в Project.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE0
Написал программу, но выдает ошибку: Вызвано исключение по адресу 0x00B31BEF в Project.exe:...

Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
Необработанное исключение по адресу 0x00105FD7 в Динамические структуры.exe: 0xC0000005: нарушение...

Необработанное исключение по адресу 0x001B3371 в XXX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDF
Делал консольную змейку и столкнулся вот с такой проблемой. void stena(char **arr) { int y...

6
Нарушитель
Эксперт C
26238 / 16268 / 3525
Регистрация: 24.12.2010
Сообщений: 35,915
19.02.2018, 20:19 2
faxezad, Теги кода умеете ставить?
По вопросу. int *x[3] - массив из 3- элементов. Эти элементы имеют индексы 0, 1, 2. x[3] вылезает за пределы массива.
1
0 / 0 / 1
Регистрация: 19.02.2018
Сообщений: 26
19.02.2018, 20:23  [ТС] 3
Функция mul сама присваивает теги k и l, если не юзать *x[3] то ошибку выдает. Хотя все же это я туповат и чего-то не понимаю

Добавлено через 1 минуту
Функция mul сама присваивает теги k и l, если не юзать *x[3] то ошибку выдает. Хотя все же это я туповат и чего-то не понимаю
0
Нарушитель
Эксперт C
26238 / 16268 / 3525
Регистрация: 24.12.2010
Сообщений: 35,915
19.02.2018, 20:25 4
Цитата Сообщение от faxezad Посмотреть сообщение
Ругается на 33 строку
я бы ругался на каждую строчку. На некоторые - даже по несколько раз. Код составлен настолько безграмотно, что невозможно даже попытаться его поправить. Я не ругаюсь. Все мы бредили по-началу. Но советую вернуться к основам. Или хотя бы посмотреть на другие, более грамотные коды. Как ни странно, и здесь, на форуме, такие встречаются нередко.
Цитата Сообщение от faxezad Посмотреть сообщение
Эта которая вот: h = k[j] * l[j]; , чтобы вам не считать)
Вот тут-то теги кода и оказали бы нам (и вам) услугу.
1
0 / 0 / 1
Регистрация: 19.02.2018
Сообщений: 26
19.02.2018, 20:31  [ТС] 5
Байт, я понял. Но мне нужно использовать весь массив x и все остальные тоже, но требуется выражение

Добавлено через 3 минуты
Есть другой код, препод сказал, что работает правильно, но нужна только одна функция мул и чтобы в ней передавались 2 массива и их размерность, но я не знаю как это можно реализовать, вот попытался, видишь как вышло)

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
#include<iostream> 
using namespace std; 
void set(int[], int, char); 
int mul1(int r); 
int mul2(int t); 
int main() 
{ 
setlocale(LC_ALL, "Russian"); 
int x[3], y[3], z[4], p[4]; 
set(x, 3, 'x'); 
set(y, 3, 'y'); 
set(z, 4, 'z'); 
set(p, 4, 'p'); 
int r = mul1(r); 
int t = mul2(t); 
if (r > t) 
cout « "True" « endl; 
else 
cout « "False" « endl; 
system("pause"); 
} 
void set(int vv[], int N, char Name) 
{ 
cout « "Ввод массива " « Name « endl; 
for (int i = 0; i<N; i++) 
{ 
cout « N « "[" « i « "]="; 
cin » vv[i]; 
} 
} 
int mul1(int r) 
{ 
int x[3], y[3]; 
set(x, 3, 'x'); 
set(y, 3, 'y'); 
int h; 
for (int i = 0; i < 3; i++) 
{ 
h = x[i] * y[i]; 
r = r + h; 
} 
return r; 
} 
int mul2(int t) 
{ 
int z[4], p[4]; 
set(z, 4, 'z'); 
set(p, 4, 'p'); 
int h; 
for (int i = 0; i < 4; i++) 
{ 
h = z[i] * p[i]; 
t = t + h; 
} 
return t; 
}
0
Нарушитель
Эксперт C
26238 / 16268 / 3525
Регистрация: 24.12.2010
Сообщений: 35,915
19.02.2018, 20:38 6
faxezad, покажи задачу-то. Условие. Глядишь, и найдутся добрые люди, покажут как такие задачки решаются. А ты, глядя на приличный код, может быть чему-то и научишься. Ибо по твоему коду весьма затруднительно понять, чего же ты не понимаешь... Я не хочу сказать, что ты не понимаешь ничего. Нет, какие-то попытки что-то сказать - налицо. Но пока, извини, получается тарабарщина.

Добавлено через 1 минуту
Цитата Сообщение от faxezad Посмотреть сообщение
Есть другой код
Теги кода будем ставить??!! Учиться хоть чему-то будем??!!
0
0 / 0 / 1
Регистрация: 19.02.2018
Сообщений: 26
19.02.2018, 20:42  [ТС] 7
Задание такое:
Даны четыре вектора: X={x1, x2, x3}, Y={у1, у2, у3} и Z={z1, z2, z3, z4}, P={p1, p2, p3, p4}. Переменной m присвоить значение TRUE, если скалярное произведение векторов X и Y больше скалярного произведения векторов Z и P, и значение FALSE - в противном случае. Ввод элементов массива и вычисление скалярного произведения оформить в виде подпрограммы.

Я уже сделал самую простую программу которая хорошо работает, но препод прикопался к этому mul'у.
p.s. к функции ввода не прикапывается)

Вот эта "самая простая" прога:
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
#include <iostream>
using namespace std;
bool square(bool);
int main()
{   
    setlocale(LC_ALL, "rus");
    bool m = square(m);
    if (m == 1)
        cout << "True" << endl;
    else
        cout << "False" << endl;
    system("pause");
    return 0;
}
bool square(bool m)
{
    int x[3], y[3], z[4], p[4];
    cout << "Введите массив x:" << endl;
    for (int i = 0; i < 3; i++)
        cin >> x[i];
    cout << endl;
    cout << "Введите массив y:" << endl;
    for (int i = 0; i < 3; i++)
        cin >> y[i];
    cout << endl;
    cout << "Введите массив z:" << endl;
    for (int i = 0; i < 4; i++)
        cin >> z[i];
    cout << endl;
    cout << "Введите массив p:" << endl;
    for (int i = 0; i < 4; i++)
        cin >> p[i];
    cout << endl;
    m = ((x[0] * y[0] + x[1] * y[1] + x[2] * y[2]) > (z[0] * p[0] + z[1] * p[1] + z[2] * p[2] + z[3] * p[3]));
    return m;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2018, 20:42

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже...

C++ Вызвано исключение по адресу 0x00346786 в Smooth_.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00
void getvector(string file_, vector&lt;double&gt; mass) { ifstream fin; fin.open(file_); if...

Нарушение прав доступа при чтении по адресу
Помохите! При работе со строками выдает вот такую ошибку. При проверке с английским алфавитом все...

Нарушение прав доступа при чтении по адресу
Здравствуйте, форумчане. Дабы не писать долго я описал свою проблему в видео...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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