Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
1

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

16.11.2012, 16:37. Просмотров 2132. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 16:37
Ответы с готовыми решениями:

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

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

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

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

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

28
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 16:48 2
Цитата Сообщение от Skillet102 Посмотреть сообщение
for(i=0,j=0;i<n/2,j<m/2;i--,j--)
неверно!
Запиши для начала все циклы с двойной проверкой вот так
C++
1
for(i=0,j=0;i<n/2 && j<m/2;i--,j--)
Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Skillet102 Посмотреть сообщение
#include"malloc.h"
- накой он нужен, если через iostream да что там через stdafx.h всё что надо подключается:scratch:

0
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 16:51  [ТС] 3
записал,всё равно та же самая ошибка
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 16:55 4
Skillet102,
Цитата Сообщение от Skillet102 Посмотреть сообщение
for(i=0,j=0;i<n/2,j<m/2;i--,j--)
- ОМГ сразу не заметил индексы i=0,j=0 и ;i--,j--

Добавлено через 1 минуту
Skillet102, задание в студию у тебя куча циклов в которых вначале индекс ноль и на первой же итерации -- делаем его отрицательным. что за суммы ты ищешь(да ещё и с суммами накошено)
Цитата Сообщение от Skillet102 Посмотреть сообщение
int sum1=0;
Цитата Сообщение от Skillet102 Посмотреть сообщение
int *j,i,m,n,sum1=0,sum2=0,sum3=0,sum4=0;
0
16.11.2012, 16:55
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 16:58  [ТС] 5
нужно вычислить сумму четвертей матрицы и вывести их в порядке возрастания
0
Croessmah
++Ͻ
16047 / 9146 / 1758
Регистрация: 27.09.2012
Сообщений: 22,505
Записей в блоге: 2
Завершенные тесты: 2
16.11.2012, 17:00 6
Цитата Сообщение от Skillet102 Посмотреть сообщение
нужно вычислить сумму четвертей матрицы и вывести их в порядке возрастания
у тебя i,j равны нулю, а ты их еще и уменьшаешь, в результате
C++
1
mas[-1][-1];
и т.д.
1
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 17:02 7
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int  j,i,m,n;
    int sum1=0,sum2=0,sum3=0,sum4=0;
    int **mas = NULL;
    //setlocale(LC_ALL, "Russian");
    system("chcp 1251");
    printf("Ââåäèòå êîëè÷åñòâî ñòðîê : ");
    scanf("%d",&n);
    printf("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ : ");
    scanf("%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("%d",&mas[i][j]);
    }
 
    for(i = n/2, j = m/2; 0 < i && 0 < j;i--,j--)
        sum1+=mas[i][j];
    for(i = n/2, j = m/2; 0 < i  && j > m;i--,j++)
        sum2+=mas[i][j];
    for(i = n/2,j = m/2;i < n && 0 < j;i++,j--)
        sum3+=mas[i][j];
    for(i = n/2,j = m/2;i < n && j < m;i++,j++)
        sum4+=mas[i][j];
  
    printf("%d\n%d\n%d\n%d",sum1,sum2,sum3,sum4);
    getchar();
    return 0; 
}
0
Изображения
Тип файла: jpg Безымянный.jpg (19.8 Кб, 6 просмотров)
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 17:03  [ТС] 8
получается нужно так?
for(i<n/2 && j<m/2;i--,j--)
0
Illusive
17 / 17 / 4
Регистрация: 11.01.2008
Сообщений: 51
16.11.2012, 17:04 9
В строках 25, 30, 33 для for неправильно заданы условия:
Например - начальное условие i=0, а далее i--, каким будет i?

Т.е. на примере строки 30 должно быть:
for(i=n/2,j=0;i>0,j>m/2;i--,j++)
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 17:04 10
Цитата Сообщение от Skillet102 Посмотреть сообщение
нужно вычислить сумму четвертей матрицы и вывести их в порядке возрастания
- ок так бы и сразу, сейчас...
Цитата Сообщение от Croessmah Посмотреть сообщение
у тебя i,j равны нулю, а ты их еще и уменьшаешь, в результате
- я уже написал об этом

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ОМГ сразу не заметил индексы i=0,j=0 и ;i--,j--
1
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 17:08  [ТС] 11
сейчас всё выложу)
Вычислить суммы всех угловых четвертинок и расположить их в порядке возрастания.
воот
очень заинтересован,буду очень благодарен))

Добавлено через 2 минуты
а как сделать условие,дабы вводилась только квадратная матрица?
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 17:15 12
Skillet102, вот что получилось (думаю понятно что когда число столбцов нечётно, то число элементов в четвертях будет отличатсья на 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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int  j,i,m,n;
    int sum1=0,sum2=0,sum3=0,sum4=0;
    int **mas = NULL;
    //setlocale(LC_ALL, "Russian");
    system("chcp 1251");
    printf("Ââåäèòå êîëè÷åñòâî ñòðîê : ");
    scanf("%d",&n);
    printf("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ : ");
    scanf("%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("%d",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%d ", 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-àÿ ÷åòâåðòü : %d\n" 
        "2-àÿ ÷åòâåðòü : %d\n"
        "3- ÿ ÷åòâåðòü : %d\n"
        "4- ÿ ÷åòâåðòü : %d\n",
        sum1,sum2,sum3,sum4
    );
    getchar();
    return 0; 
}
1
Изображения
Тип файла: jpg Безымянный.jpg (23.5 Кб, 2 просмотров)
-=ЮрА=-
16.11.2012, 17:16
  #13

Не по теме:

Skillet102, у меня сейчас только вывод сумм четвертей, я т.к толкьо увидел что нужно выводить в порядке возрастания

0
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 17:16  [ТС] 14
спасибо Вам большое
буду вникать)
0
-=ЮрА=-
Заблокирован
Автор FAQ
16.11.2012, 17:23 15
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
75
76
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int  j,i,m,n;
    int sum1=0,sum2=0,sum3=0,sum4=0;
    int **mas = NULL;
    //setlocale(LC_ALL, "Russian");
    system("chcp 1251");
    printf("Ââåäèòå êîëè÷åñòâî ñòðîê : ");
    scanf("%d",&n);
    printf("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ : ");
    scanf("%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("%d",&mas[i][j]);
    }
 
    printf("Input matrix\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
            printf("%d ", 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-àÿ ÷åòâåðòü : %d\n" 
        "2-àÿ ÷åòâåðòü : %d\n"
        "3- ÿ ÷åòâåðòü : %d\n"
        "4- ÿ ÷åòâåðòü : %d\n",
        sum1,sum2,sum3,sum4
    );
 
    int 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("Îòîðòèðîâàííûå ñóììû : %d %d %d %d",
        sums[0], sums[1], sums[2], sums[3]);
    getchar();
    return 0; 
}
1
Изображения
Тип файла: jpg Безымянный.jpg (60.8 Кб, 4 просмотров)
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
2945 / 2503 / 651
Регистрация: 25.03.2012
Сообщений: 8,945
Записей в блоге: 1
Завершенные тесты: 1
16.11.2012, 18:04 19
Кажется, тебе сказали на счёт счётчиков, но ты мимо ушей(глаз) пропустил.
0
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
16.11.2012, 18:06  [ТС] 20
я в циклах ничего не менял
0
16.11.2012, 18:06
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 18:06

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

Необработанное исключение в "0x0fc1d484 (msvcr100d.dll)" в "1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00aee0af"
помогите разобраться в чем ошибка? необходимо, чтобы ввод массива осуществлялся с клавиатуры...

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


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

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

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