Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

30.03.2014, 13:32. Просмотров 627. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 13:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Быстрая сортировка. Нарушение прав доступа при чтении "0xfdfdfdfd" (C++):

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

Необработанное исключение в "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...

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

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

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

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

4
S Inspiration
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 9
30.03.2014, 13:40 #2
Проверь какие значение у тебя передаются в first и last, вставь перед int h=(first+last)/2; строку аля cout <<"first = " << first << endl << "last = " << last << endl;
0
IrineK
Заблокирован
30.03.2014, 13:44 #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);
}
0
zss
Модератор
Эксперт С++
6540 / 6102 / 2010
Регистрация: 18.12.2011
Сообщений: 15,878
Завершенные тесты: 1
30.03.2014, 13:55 #4
А Ваша ошибка в строке
C++
1
int x=array[linen][h];
Надо наверное
C++
1
int x=array[linen-1][h];
0
NIKST
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 5
30.03.2014, 14:25  [ТС] #5
да ошибка в етой строке
int x=array[linen][h];
и дальше идет ошибка Переопределение, множественная инициализация.
как исправить ?
0
30.03.2014, 14:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2014, 14:25
Привет! Вот еще темы с ответами:

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

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

Необработанное исключение в "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...


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

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

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