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

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

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

Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" - C++
#include &lt;windows.h&gt; #include &lt;d3d9.h&gt; LRESULT __stdcall WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); struct...

Необработанное исключение в "0x0fc1d484 (msvcr100d.dll)" в "1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00aee0af" - C++
помогите разобраться в чем ошибка? необходимо, чтобы ввод массива осуществлялся с клавиатуры построчно #include &lt;stdio.h&gt; ...

Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9" - C++
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; Hdd *next; Hdd *previous; };

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64" - C++
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная 1 задача 2.exe&quot;: 0xC0000005: Нарушение прав доступа при...

28
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 17:25  [ТС] #16
а какс сделать,чтоб можно было в элементы записать и вещественные числа?
инты на даблы поменять?
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 17:49 #17
Цитата Сообщение от Skillet102 Посмотреть сообщение
а какс сделать,чтоб можно было в элементы записать и вещественные числа?
инты на даблы поменять?
всё что касается сумм и массива да сменить с int на doubke, счётчики в циклах конечно менять не надо

Добавлено через 2 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
int *j,i,m,n;
* * double sum1=0,sum2=0,sum3=0,sum4=0;
* * double **mas = NULL;
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
mas=(double**)malloc(n*sizeof(double *));
* * for(i=0;i<n;i++)
* * * * mas[i]=(double*)malloc(m*sizeof(double));
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
scanf("%lf",&mas[i][j]);
ну и в printf спецификатор формата с %d на %lf сменить
1
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 17:58  [ТС] #18
спасибо

Добавлено через 6 минут
пишет множество ошибок подобного рода
C++
1
выражение должно иметь целочисленный или перечисляемый тип
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
16.11.2012, 18:04 #19
Кажется, тебе сказали на счёт счётчиков, но ты мимо ушей(глаз) пропустил.
0
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 18:06  [ТС] #20
я в циклах ничего не менял
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
16.11.2012, 18:09 #21
строка 6 присутствует в неизменном виде?
C++
1
int  j,i,m,n;
0
Skillet102
1 / 1 / 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
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 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
Skillet102
1 / 1 / 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
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
16.11.2012, 20:06 #25
что при этом вводишь?
0
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 20:08  [ТС] #26
допустим строк-5,столбцов-5
правый интервал-3,левый-3
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 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
Skillet102
1 / 1 / 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; 
}
0
Миниатюры
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".  
16.11.2012, 20:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 20:23
Привет! Вот еще темы с ответами:

Необработанное исключение в "0x1027c9c7 (msvcr100d.dll)" в "gh.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefeee". - C++
// gh.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; ...

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

Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd" - C++
Вот функция для удаления столбца: #pragma once #include &lt;iostream&gt; using namespace std; int **DeleteIndexCol(int **ar,int s1,int...

Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc" - C++
Всем привет! помогите мне понять в чём дело. написал программу: #include &quot;stdafx.h&quot; #include &lt;ctime&gt; #include &lt;iostream&gt; #include...


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

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

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