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

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

Войти
Регистрация
Восстановить пароль
 
NIKST
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 5
#1

Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" - C++

30.03.2014, 13:32. Просмотров 584. Ответов 4
Метки нет (Все метки)

Всем доброго суток времени прошу помогите найти ошибку при компиляции ошибок нет, при запуску всплывает ошибка. работа. в Visual studio 2010

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

ошибка возникает при int h=(first+last)/2;


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
#include <iostream>
#include <cstdlib>
#include<fstream>
#include<time.h>
#include<stdlib.h>
using namespace std;
 
 
void arrprint(int** arr, int linen, int rowses) {
    for(int i = 0; i < linen; i++) {
        for(int j = 0; j < rowses; j++) {
            cout << arr[i][j]<<" ";
        }
        cout << endl;
    }
}
int qsort(int** array,int first,int last,int linen)
{
int k=0;
int temp=0;
int i=first;int j=last;
int h=(first+last)/2;
int x=array[linen][h];
do
{
while(k<linen) k++;
while(array[k][i]<x)i++;
while(array[k][j]>x)j--;
if(i<j)
{
   temp=array[k][i];
   array[k][i]=array[k][j];
   array[k][j]=temp;
   i++;
   j--;
}
}
while(i<=j);
if(i<last)
{
qsort(array,i,last,linen);
}
if(first<j)
{
qsort(array,first,j,k);
}
 
}
 
 
int main()
{
    int line,rows;
    int k=0;
    srand(time(0));
    cout<<"vedit line"<<endl;
    cin>>line;
    cout<<"vedit rows"<<endl;
    cin>>rows;
//dynamic array
    int** mas = new int*[line];
    for(int i = 0; i < line; i++)
        {
        mas[i] = new int[rows];
        for(int j = 0; j < rows; j++)
            {
            mas[i][j] = rand()%10;
            }
        }
//function
    arrprint(mas, line, rows);
     qsort(mas,0,rows,line);
    for(int i = 0; i < line; i++) delete[] mas[i];
    delete[] mas;
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 13:32     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd"
Посмотрите здесь:

"Нарушение прав доступа при чтении "0x00000000"" - C++
Добрый вечер, товарищи! Возникает ошибка &quot;Нарушение прав доступа при чтении &quot;0x00000000&quot;&quot;. Не понимаю в чем проблема. ...

Ошибка "нарушение прав доступа при чтении по адресу." - C++
Использовать стек для решения следующей задачи. В текстовом файле записана без ошибок формула следующего вида: ...

"Нарушение прав доступа при чтении по адресу 0x00000000" - C++
код: #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;math.h&gt; int strtoint(char *s) { int temp = 0; int i = 0; ...

Найти ошибку "Нарушение прав доступа при чтении" - C++
Необработанное исключение в &quot;0x504407bf (msvcr100d.dll)&quot; в &quot;lab5.exe&quot;: 0xC0000005: Нарушение прав доступа при чтении &quot;0x00000064&quot; int...

Нарушение прав доступа при чтении "0xcdcdcdcd" - C++
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { const int...

Нарушение прав доступа при чтении "0xcdcdcdcd" - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; #include &lt;iomanip&gt; #include &lt;windows.h&gt;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S Inspiration
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 9
30.03.2014, 13:40     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" #2
Проверь какие значение у тебя передаются в first и last, вставь перед int h=(first+last)/2; строку аля cout <<"first = " << first << endl << "last = " << last << endl;
IrineK
Заблокирован
30.03.2014, 13:44     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" #3
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
void swap (int *arr,int i, int j)
{   int a = arr[i];
    arr[i] = arr[j];
    arr[j] = a;
}
 
void sort(int *arr ,int left, int right)
{   int e = (arr[left]+arr[right])/2;   //средний опорный элемент
    int i = left;
    int j = right;
    
    do    
    {   while (arr[i]<e)    i++;    //пока не найдем слева что-то большое
        while (arr[j]>e)    j--;    //пока не найдем справа что-то маленькое
        if(i<=j)
        {   swap(arr,i,j);          //поменяли местами
            i++; j--;               //двинулись дальше
        }
    } while(i<j);
    
    if (left<j)
        sort(arr,left,j);           //продолжаем слева
      
    if(i<right)                     //продолжаем справа
         sort(arr,i,right);
}
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
30.03.2014, 13:55     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" #4
А Ваша ошибка в строке
C++
1
int x=array[linen][h];
Надо наверное
C++
1
int x=array[linen-1][h];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2014, 14:25     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd"
Еще ссылки по теме:

Ошибка 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc" - C++
Здравствуйте! Сегодня впервые столкнулся с данной ошибкой, поэтому не имею ни малейшего представления как найти источник проблемы и...

"Нарушение прав доступа при чтении" - C++
Здравствуйте. Только недавно начала изучать с++, поэтому даже с элементарным возникают проблемы. Вот задание: дана матрица (N+15)x(N+15),...

Создание динамических массивов внутри класса: Нарушение прав доступа при чтении "0xbf800000" - C++
столкнулся с непонятной для меня бедой. Если код написать внутри главной функции то всё работает. Но если попытаться перенести работу в...

Ошибка при работе с OpenCV: "нарушение прав доступа при чтении по адресу" - C++
Привет, всем:-) Имеется следующий код: #include &lt;opencv2/core/core.hpp&gt; #include &lt;opencv2/highgui/highgui.hpp&gt; #include...

Нарушение прав доступа при записи "0xabababab" - C++
Доброго времени суток начал прогу писать и тут меня компилятор удивил вот такой фигнёй : Необработанное исключение в &quot;0x773d15de&quot; в...

Нарушение прав доступа при записи "0x0000000c" - C++
12.cpp // 12.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
NIKST
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 5
30.03.2014, 14:25  [ТС]     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" #5
да ошибка в етой строке
int x=array[linen][h];
и дальше идет ошибка Переопределение, множественная инициализация.
как исправить ?
Yandex
Объявления
30.03.2014, 14:25     Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd"
Ответ Создать тему
Опции темы

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