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

вызвано исключение нарушение доступа для чтения

09.01.2019, 20:08. Показов 603. Ответов 3

Программа обрабатывает двумерный массив. На 31-й строке выдает ошибку.

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
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
#include <Windows.h>
#include <iomanip>
 
 
int srstroki(int n, int m, int i, int j, int vel)
{
    int pp;
    float **a = new float*[n];
    for (i = 0; i < n; i++)a[i] = new float[m];
    int sum; int sr;
    float *b = new float[i];
    for (i = 0; i < n; i++)
    {
        sum = sr = 0;
        for (j = 0; j < m; j++)
            sum += a[i][j];
        sr = sum / m;
        b[i] = sr;
    }
    pp = 0;
    for (i = 0; i < n; i++)
    {
        if (b[i] < vel)
            pp++;
    }
    
    return pp;
}
 
int treug(int i, int j, int n, int m)
{
    float **a = new float*[n];
    for (i = 0; i < n; i++)a[i] = new float[m];
    int k;
    for (i = 1; i< n; ++i)
        for (k = i; k< n; ++k)
            for (j = n - 1; j >= 0; --j)
                if (a[k][i - 1] != 0 && a[i - 1][i - 1] != 0 && a[i - 1][j] != 0)
                    a[k][j] -= (a[k][i - 1] / a[i - 1][i - 1] * a[i - 1][j]);
    
    return a[i][j];
}
 
using namespace std;
 
char *rus(const char *text);
int main()
{
 
    setlocale(LC_ALL, "Rus");
    int n, m, i, j;
    float sr, sum, vel, pp;
    cout << "Строк = ";
    cin >> n;
    cout << endl << "Столбцов = ";
    cin >> m;
    float **a = new float*[n];
    for (i = 0; i < n; i++)a[i] = new float[m];
 
    
 
    cout << "заполните массив" << endl << endl;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cin >> a[i][j];
            cout << "    ";
        }
        cout << endl;
    }
    
    cout << endl << "Задайте величину для поиска строк";
    cin >> vel;
    pp= srstroki(n,m,i,j,vel);
    if (0 == pp)
        cout << endl << "строк нет";
    else cout << endl << "строк:" << pp << endl;
    
    
    
 
    cout << "треугольная матрица" << endl;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << "     " << treug(i,j,n,m);
        cout << endl;
    }
    delete[]a;
    system("pause");
    return 0;
}
Добавлено через 15 минут
на 45-й строке, я форумчанин 2 лвл, редактировать темы не обучен.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2019, 20:08
Ответы с готовыми решениями:

Вызвано исключение: нарушение доступа для чтения
Пытался реализовать класс для работы с двумерными матрицами, которые хранятся в одномерных...

Вызвано исключение: нарушение доступа для чтения
Здравствуйте. Во время выполнения кода компилятор вызвал ошибку. Не могу понять, в чём дело. Может...

вызвано исключение нарушение доступа для чтения
Выдаёт исключение на 35 строке, ругается на переменную nach. #include &quot;stdafx.h&quot; #include...

Вызвано исключение: нарушение доступа для чтения
Всем привет! Пишу программу, которая должна записать в файл в первом столбике рандомную цифру или...

3
"C with Classes"
1498 / 1296 / 489
Регистрация: 16.08.2014
Сообщений: 5,442
Записей в блоге: 1
09.01.2019, 20:12 2
Madetan, тебе не понятна причина ошибки или как логику поправить что бы она пропала? причина, индексы убежали за пределы массива, вникать в логику конечно же лень.
0
1 / 1 / 0
Регистрация: 07.01.2019
Сообщений: 8
09.01.2019, 20:24  [ТС] 3
Можно ли каким-либо другим способом вывести значения массива из функции?
0
"C with Classes"
1498 / 1296 / 489
Регистрация: 16.08.2014
Сообщений: 5,442
Записей в блоге: 1
09.01.2019, 21:11 4
Цитата Сообщение от Madetan Посмотреть сообщение
Можно ли каким-либо другим способом вывести значения массива из функции?
можно через ссылку int srstroki(int n, int m, int i, int j, int vel, int& ret) последним параметром, но ошибку твою это не исправит, и ухудшит понимание функции.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2019, 21:11

Вызвано исключение: нарушение доступа для чтения
Нужно закодировать введённое сообщение . Найти слово в файле, и записать его в виде кода, например...

Вызвано исключение: нарушение доступа для чтения
Программа обрабатывает двумерный массив. На 45-й строке выдает ошибку. #include &quot;stdafx.h&quot;...

Вызвано необработанное исключение: нарушение доступа для чтения
Вызвано необработанное исключение: нарушение доступа для чтения. p-&gt;Left было 0xFFFFFFFFFFFFFFEF....

Вызвано исключение: нарушение доступа для чтения. s было 0x1110112
Товарищи форумчане, нужна ваша помощь! (Для простоты объяснения прикреплю скрин) Насколько я...

Класс матрица. Вызвано исключение: нарушение доступа для чтения
Добрый день. При создании класса Matrix возникли проблемы в методе show. При отладке выпадает вот...

Вызвано исключение: нарушение доступа для чтения. this было 0xCDCDCDCD
Есть у меня код со структурой с динамическими массивами внутри. Через клаву я ввожу данные. И...


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

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

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