Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 5
1

Ошибки в программе сортировки Хоара двумерного массива в С++

23.02.2013, 21:12. Показов 1411. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составила программу на языке С++, создающую двумерный целочисленный массив и сортирующую его по строкам по методу Хоара. Программа не запускается. И постоянно выдается ошибка:"...QuickSort: функция не принимает 0 аргументов". Проблема также в том, что мне нужно отсортировать не одномерный, а двумерный массив, а я не понимаю как это сделать.Только начала работать с С++, поэтому не судите строго. Просьба помочь найти ошибки, чтобы программа заработала.


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
#include<iostream>
using namespace std;
void QuickSort ( int **mtr, int from, int to )
{
int x, l, r, temp;
 
if ( from >= to )
 return;
 
l = from;
 
r = to;
 
x = mtr[(from+to)/2];
 
while ( l <= r ) 
{
while ( mtr[l] < x )
 l ++;
 
while ( mtr[r] > x )
 r --;
 
if ( l <= r ) 
{
temp = mtr[l]; 
mtr[l] = mtr[l]; 
mtr[r] = temp;
 
l ++;
 
r --;
}
}
QuickSort ( mtr, from, r );
QuickSort ( mtr, l, to );
}
int main()
{
int m = 0; //m-количество строк в массиве
int n = 0; //n-количество столбцов в массиве
 
//Задаём размерность массива 
printf("Enter array dimensions: ");
if (scanf("%d%d", &m, &n) == 2)
{
int **mtr = new int*[m];
for (int i = 0; i < m; i++)
mtr[i] = new int[n];
 
//Заполнение массива случайными числами
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
mtr[i][j] = rand() % 20+1;
}
}
//Вывод массива
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("%d ", mtr[i][j]);
}
printf("\n");
}
 
QuickSort (**mtr);
 
printf("\nPosle: \n");
//Вывод отсортированного массива
 
for (int i = 0; i < m; i++)
{
 
for (int j = 0; j < n; j++)
{
 
printf("%d ", mtr[i][j]);
 
} 
printf("\n");
 
}
}
else printf("\nError!!\n");
system("pause");
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2013, 21:12
Ответы с готовыми решениями:

Разработайте рекурсивную процедуру сортировки последовательности методом быстрой сортировки Хоара
Помогите!!!! Дана последовательность чисел a1, a2, ... , an. Разработайте рекурсивную процедуру...

Функция сортировки двумерного массива
необходимо написать функцию сортирующую двумерный массив. за основу взял сортировку при помощи...

Сортировки для двумерного массива
Подскажите, пожалуйста, код блочной сортировки для двумерного массива, или сортировки вставками...

Функция сортировки двумерного динамического массива
Помогите пожалуйста!Нужно составить функцию которая будет сортировать динамический двухмерный ...

1
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
26.02.2013, 15:51 2
С чего б начать...
С аккуратности, наверное. Если кажется, что всё понятно -- значит, чего-то не заметила.
И начинать с постановки задачи: чего надо-то? Отсортировать каждую строку? Или как-то таки отсортировать строки?
И только когда действительно ясно, чего надо добиться, можно начинать писать.
И никогда -- никогда! -- не писать
Цитата Сообщение от Margooo Посмотреть сообщение
C++
1
QuickSort (**mtr);
, если сама же написала чуть раньше
Цитата Сообщение от Margooo Посмотреть сообщение
C++
1
void QuickSort ( int **mtr, int from, int to )
И, чорт бы меня побрал, посмотреть же ж, как принято выкладывать программы на Цэ и чуть-чуть подумать: а почему так? А может, оно и правда лучше, чем пихать совершенно нечитабельную мешанину кода?
Для начала и хватит...
0
26.02.2013, 15:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2013, 15:51
Помогаю со студенческими работами здесь

Процедура сортировки столбцов двумерного массива
Напишите, пожалуйста, процедуру сортировки столбцов в двумерном массиве по возрастанию.

Шаблонная функция сортировки двумерного массива
Помогите пожалуйста написать шаблонную функцию сортировки двумерного массива (матрицы) любым...

Функция сортировки двумерного динамического массива
Это программа сортировки работает для целых чисел.Как сделать так чтобы за место целых чисел были...

Не корректное выполнение сортировки двумерного массива
Приветствую всех. Помогите найти и исправить причину не корректной работы программы. Примечание:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru