Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
#1

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

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

вылезает ошибка
Необработанное исключение в "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();
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 16:37     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".
Посмотрите здесь:

C++ Нарушение прав доступа при записи "0x00000000"
"Нарушение прав доступа при чтении "0x00000000"" C++
Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" C++
Создание динамических массивов внутри класса: Нарушение прав доступа при чтении "0xbf800000" C++
C++ Нарушение прав доступа при чтении "0xcdcdcdcd"
C++ 0xC0000005: Нарушение прав доступа при записи "0xcccccccc". Инициализация строк
Ошибка "Нарушение прав доступа при записи" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.11.2012, 18:09     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #21
строка 6 присутствует в неизменном виде?
C++
1
int  j,i,m,n;
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 18:13  [ТС]     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #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; 
}
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.11.2012, 18:20     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #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));
//...
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 19:53  [ТС]     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #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 секунд
окончательно не втыкаю(
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.11.2012, 20:06     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #25
что при этом вводишь?
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 20:08  [ТС]     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #26
допустим строк-5,столбцов-5
правый интервал-3,левый-3
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.11.2012, 20:14     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #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)
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 20:16  [ТС]     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #28
понятно)
исправлюсь))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 20:23     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".
Еще ссылки по теме:

C++ Ошибка 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc"
C++ Ошибка "нарушение прав доступа при чтении по адресу."
"Нарушение прав доступа при чтении по адресу 0x00000000" C++
"Нарушение прав доступа при чтении" C++
C++ Нарушение прав доступа при чтении "0xcdcdcdcd"

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 20:23     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". #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".  
Yandex
Объявления
16.11.2012, 20:23     Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".
Ответ Создать тему
Опции темы

Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru