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

Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".

16.11.2012, 16:37. Показов 3154. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вылезает ошибка
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".
код,собственно говоря,такой
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
// laba3,point.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include"malloc.h"
#include<iostream>
void main()
{
        int  j,i,m,n,sum1=0,sum2=0,sum3=0,sum4=0;
    int **mas;
    setlocale(LC_ALL, "Russian");
    printf("\nВведите количество строк:\n");
     scanf_s("%d",&n);
     printf("\nВведите количество столбцов:\n");
     scanf_s("%d",&m);
     mas=(int**)malloc(n*sizeof(int));
  for(i=0;i<n;i++)
  mas[i]=(int*)malloc(m*sizeof(int));
  for(i=0;i<n;i++)
  for(j=0;j<m;j++)
    {
        printf(" Element massiva [%d %d]: ",i,j);
        scanf_s("%d",&mas[i][j]);
  }
  for(i=0,j=0;i<n/2,j<m/2;i--,j--)
  {
  int sum1=0;
  sum1+=mas[i][j];
  }
  for(i=0,j=0;i<n/2,j>m/2;i--,j++)
  { int sum2=0;
  sum2+=mas[i][j];}
  for(i=0,j=0;i>n/2,j<m/2;i++,j--)
  { int sum3=0;
  sum3+=mas[i][j];}
  for(i=0,j=0;i>n/2,j>m/2;i++,j++)
  { int sum4=0;
  sum4+=mas[i][j];}
  
  printf("%d\n%d\n%d\n%d",sum1,sum2,sum3,sum4);
     getchar();
    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 16:37
Ответы с готовыми решениями:

Необработанное исключение по адресу 0x004490F8 в ConsoleApplication1.exe: 0xC0000005: нарушение прав доступа при чтении
Я реализую дерево. Хочу добавить элемент через указание ссылки на родителя. Но непонятно почему я...

Необработанное исключение по адресу 0x00EB1F23 в ConsoleApplication49.exe: 0xC0000005: нарушение прав доступа при чтении
В функции Max выдает такую ошибку на строчке с int Z Необработанное исключение по адресу...

Необработанное исключение по адресу 0x00E730CD в ConsoleApplication18.exe: 0xC0000005: нарушение прав доступа при чтении
Задана целочисленная динамическая матрица M. Элементы этой матрицы, без остатка делящиеся на 6,...

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

28
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
16.11.2012, 18:09 21
Author24 — интернет-сервис помощи студентам
строка 6 присутствует в неизменном виде?
C++
1
int  j,i,m,n;
0
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 18:13  [ТС] 22
нет,как посоветовал -=ЮрА=-
она выглядит так
int *j,i,m,n;

Добавлено через 1 минуту
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
#include"stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
 
int main()
{    int *j,i,m,n;
 ** double sum1=0,sum2=0,sum3=0,sum4=0;
 **double **mas = NULL;
    setlocale(LC_ALL, "Russian");
   // system("chcp 1251");
    printf("Введите количество строк : ");
    scanf_s("%d",&n);
    printf("Введите количество столбцов : ");
    scanf_s("%d",&m);
    mas=(double**)malloc(n*sizeof(double *));
  **for(i=0;i<n;i++)
    **** mas[i]=(double*)malloc(m*sizeof(double));
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {
        printf(" Element massiva [%lf %lf] : ",i,j);
        scanf_s("%lf",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%lf ", mas[i][j]);
        printf("\n");
    }
 
    //1-ая четверть
    for(i =   0; i < n/2; i++)
    for(j = m/2; j < m  ; j++)
        sum1 += mas[i][j];
 
    //2-ая четверть
    for(i = 0; i < n/2; i++)
    for(j = 0; j < m/2; j++)
        sum2 += mas[i][j];
 
    //3-я четверть
    for(i = n/2; i < n  ; i++)
    for(j = 0  ; j < m/2; j++)
        sum3 += mas[i][j];
 
    for(i = n/2; i < n; i++)
    for(j = m/2; j < m; j++)
       sum4 += mas[i][j];
  
    printf
    (
        "1-ая четверть : %lf\n" 
        "2-ая четверть : %lf\n"
        "3- я четверть : %lf\n"
        "4- я четверть : %lf\n",
        sum1,sum2,sum3,sum4
    );
 
    float sums[] = {sum1, sum2, sum3, sum4};
    for(i = 0; i < 4; i++)
    for(j = 0; j < 4; j++)
    {
        if(sums[i] < sums[j])
        {
            sums[i] += sums[j];
            sums[j] = sums[i] - sums[j];
            sums[i] = sums[i] - sums[j];
        }
    }
    printf("Отcортированные суммы : %lf %lf %lf %lf",
        sums[0], sums[1], sums[2], sums[3]);
    getchar();
    getchar();
    return 0; 
}
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
16.11.2012, 18:20 23
меняй назад этот бред. никто тебе такого не советовал. Я проверил.
Ты б ещё ******mas[i] написал!
убирай все звёзды, которые в начале строк
и верни строку int j,i,m,n;

Добавлено через 1 минуту
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
#include"stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
 
int main()
{    int j,i,m,n;
     double sum1=0,sum2=0,sum3=0,sum4=0;
     double **mas = NULL;
    setlocale(LC_ALL, "Russian");
   // system("chcp 1251");
    printf("Введите количество строк : ");
    scanf_s("%d",&n);
    printf("Введите количество столбцов : ");
    scanf_s("%d",&m);
    mas=(double**)malloc(n*sizeof(double *));
    for(i=0;i<n;i++)
      mas[i]=(double*)malloc(m*sizeof(double));
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {
        printf(" Element massiva [%lf %lf] : ",i,j);
        scanf_s("%lf",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%lf ", mas[i][j]);
        printf("\n");
    }
 
    //1-ая четверть
    for(i =   0; i < n/2; i++)
    for(j = m/2; j < m  ; j++)
        sum1 += mas[i][j];
 
    //2-ая четверть
    for(i = 0; i < n/2; i++)
    for(j = 0; j < m/2; j++)
        sum2 += mas[i][j];
 
    //3-я четверть
    for(i = n/2; i < n  ; i++)
    for(j = 0  ; j < m/2; j++)
        sum3 += mas[i][j];
 
    for(i = n/2; i < n; i++)
    for(j = m/2; j < m; j++)
       sum4 += mas[i][j];
  
    printf
    (
        "1-ая четверть : %lf\n" 
        "2-ая четверть : %lf\n"
        "3- я четверть : %lf\n"
        "4- я четверть : %lf\n",
        sum1,sum2,sum3,sum4
    );
 
    float sums[] = {sum1, sum2, sum3, sum4};
    for(i = 0; i < 4; i++)
    for(j = 0; j < 4; j++)
    {
        if(sums[i] < sums[j])
        {
            sums[i] += sums[j];
            sums[j] = sums[i] - sums[j];
            sums[i] = sums[i] - sums[j];
        }
    }
    printf("Отcортированные суммы : %lf %lf %lf %lf",
        sums[0], sums[1], sums[2], sums[3]);
    getchar();
    getchar();
    return 0; 
}
Админы, исправьте чёртово цитирование со звёздочками на форуме, тут уже 100500 постов исписано с содержанием
"исправьте ошибку. Что тут может быть не так?"
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
***{    
***int j,i,m,n;
***double sum1=0,sum2=0,sum3=0,sum4=0;
***double **mas = NULL;
***printf("Введите количество строк : ");
***
***mas=(double**)malloc(n*sizeof(double *));
***for(i=0;i<n;i++)
*****mas[i]=(double*)malloc(m*sizeof(double));
//...
1
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 19:53  [ТС] 24
блин,вот я затупок((

Добавлено через 1 час 30 минут
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
#include"stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include"time.h"
 
void main()
{    int j,i,m,n,q,a,b;
 double sum1=0,sum2=0,sum3=0,sum4=0;
 double **mas = NULL;
    setlocale(LC_ALL, "Russian");
    printf("Введите количество строк : ");
    scanf_s("%d",&n);
    printf("Введите количество столбцов : ");
    scanf_s("%d",&m);
    while(1)
    {
    printf("\nМеню:\n");
        printf("\n1-ручной ввод\n2-рандомная матрица\n3-выход\n");
        scanf_s("%d",&q);
        switch(q)
        {
        case 1:{
          mas=(double**)malloc(n*sizeof(double *));
  for(i=0;i<n;i++)
     mas[i]=(double*)malloc(m*sizeof(double));
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {
        printf(" Element massiva [%lf %lf] : ",i,j);
        scanf_s("%lf",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%lf ", mas[i][j]);
        printf("\n");
    }
 
    //1-ая четверть
    for(i =   0; i < n/2; i++)
    for(j = m/2; j < m  ; j++)
        sum1 += mas[i][j];
 
    //2-ая четверть
    for(i = 0; i < n/2; i++)
    for(j = 0; j < m/2; j++)
        sum2 += mas[i][j];
 
    //3-я четверть
    for(i = n/2; i < n  ; i++)
    for(j = 0  ; j < m/2; j++)
        sum3 += mas[i][j];
 
    for(i = n/2; i < n; i++)
    for(j = m/2; j < m; j++)
       sum4 += mas[i][j];
  
    printf
    (
        "1-ая четверть : %lf\n" 
        "2-ая четверть : %lf\n"
        "3- я четверть : %lf\n"
        "4- я четверть : %lf\n",
        sum1,sum2,sum3,sum4
    );
 
    float sums[] = {sum1, sum2, sum3, sum4};
    for(i = 0; i < 4; i++)
    for(j = 0; j < 4; j++)
    {
        if(sums[i] < sums[j])
        {
            sums[i] += sums[j];
            sums[j] = sums[i] - sums[j];
            sums[i] = sums[i] - sums[j];
        }
    }
    printf("Отcортированные суммы : %lf %lf %lf %lf",
        sums[0], sums[1], sums[2], sums[3]);
    getchar();
    getchar();
    break;};
        case 2:{
    printf("Введите правую границу интервала случайных чисел a=");
    scanf_s("%d",&a);
    printf("\nВведите левую границу интервала случайных чисел b=");
    scanf_s("%d",&b);
    //инициализация случайными числами
    srand(time(NULL));
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++){
            mas[i][j] = (double)rand()*(a-b)/RAND_MAX +b;
        }
       
        for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%lf ", mas[i][j]);
        printf("\n");
    }
break;};
    case 3:{return;
        break;};
        default:break;
    }
    }
    getchar(); 
   }
Добавлено через 57 секунд
теперь 2я часть не работает
пишет-Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000".

Добавлено через 27 секунд
окончательно не втыкаю(
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
16.11.2012, 20:06 25
что при этом вводишь?
0
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 20:08  [ТС] 26
допустим строк-5,столбцов-5
правый интервал-3,левый-3
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
16.11.2012, 20:14 27
Цитата Сообщение от Skillet102 Посмотреть сообщение
правый интервал-3,левый-3
и какие числа ожидаешь получить?
но ошибка не в этом.
Ты не выделил память! У тебя mas как был mas = NULL, так и остался mas = NULL
а должно было быть mas = new...

Добавлено через 1 минуту
ты выделяешь память только после
C++
1
case 1:{
То есть после того, как пользователь введёт 1 и это будет проверено.
Когда же ты вводишь 2 - никакого массива не выделяется

Решение: перенеси строчки
C++
1
2
3
    mas=(double**)malloc(n*sizeof(double *));
  for(i=0;i<n;i++)
     mas[i]=(double*)malloc(m*sizeof(double));
Перенеси их сразу после ввода m и n
C++
1
2
3
4
5
6
   printf("Введите количество строк : ");
    scanf_s("%d",&n);
    printf("Введите количество столбцов : ");
    scanf_s("%d",&m);
    //<<<<<<<<<<Сюда их перемести
while(1)
1
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 20:16  [ТС] 28
понятно)
исправлюсь))
0
Заблокирован
Автор FAQ
16.11.2012, 20:23 29
Skillet102, собственно вот код с даблами
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int  j,i,m,n;
    double sum1=0,sum2=0,sum3=0,sum4=0;
    double **mas = NULL;
    setlocale(LC_ALL, "Russian");
    printf("Введите количество строк : ");
    scanf("%d",&n);
    printf("Введите количество столбцов : ");
    scanf("%d",&m);
    mas=(double**)malloc(n*sizeof(double *));
    for(i=0;i<n;i++)
        mas[i]=(double*)malloc(m*sizeof(double));
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
    {
        printf(" Element massiva [%d %d] : ",i,j);
        scanf("%lf",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%.1f ", mas[i][j]);
        printf("\n");
    }
 
    //1-ая четверть
    for(i =   0; i < n/2; i++)
    for(j = m/2; j < m  ; j++)
        sum1 += mas[i][j];
 
    //2-ая четверть
    for(i = 0; i < n/2; i++)
    for(j = 0; j < m/2; j++)
        sum2 += mas[i][j];
 
    //3-я четверть
    for(i = n/2; i < n  ; i++)
    for(j = 0  ; j < m/2; j++)
        sum3 += mas[i][j];
 
    for(i = n/2; i < n; i++)
    for(j = m/2; j < m; j++)
        sum4 += mas[i][j];
  
    printf
    (
        "1-ая четверть : %.1f\n" 
        "2-ая четверть : %.1f\n"
        "3- я четверть : %.1f\n"
        "4- я четверть : %.1f\n",
        sum1,sum2,sum3,sum4
    );
    double sums[] = {sum1, sum2, sum3, sum4};
    for(i = 0; i < 4; i++)
    for(j = 0; j < 4; j++)
    {
        if(sums[i] < sums[j])
        {
            sums[i] += sums[j];
            sums[j] = sums[i] - sums[j];
            sums[i] = sums[i] - sums[j];
        }
    }
    printf("Отортированные суммы : %.1f %.1f %.1f %.1f",
        sums[0], sums[1], sums[2], sums[3]);
    getchar();
    return 0; 
}
Миниатюры
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".  
0
16.11.2012, 20:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 20:23
Помогаю со студенческими работами здесь

Необработанное исключение по адресу 0x00EC2729 в izo.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCD
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include...

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

Необработанное исключение по адресу 0x008B94C5. 0xC0000005: нарушение прав доступа при чтении по
Здравствуйте! Функция должна искать локальные минимумы массива. То есть это элементы,которые меньше...

Необработанное исключение в "0x0138169d" в "kursovaya.exe": 0xC0000005: Нарушение прав доступа при чтении "0x6
Программа выдает ошибку, может кто видит где? и как исправить Код: #include &lt;iostream&gt; #include...

Необработанное исключение в "0x00412b4a" в "kursovik.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000004".
Программа компилируется нормально но потом на строчке MoveToEx(hdc,Mas.a]-&gt;x*20,Mas.a]-&gt;y*20,0);...

Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb"
При выполнении этого кода #include &lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...


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

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