Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2013, 21:25   #1
margooo
Новичок
Джуниор
 
Регистрация: 23.02.2013
Сообщений: 1
По умолчанию Ошибки в программе сортировки Хоара двумерного массива в С++

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


#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;
}
margooo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод двумерного массива Kocapb Общие вопросы C/C++ 4 11.10.2012 11:05
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива griignat Помощь студентам 1 22.11.2011 20:04
Сортировка двумерного массива по столбцам методом быстрой сортировки( Хоара) и пирамидальной. tworc22 Помощь студентам 3 28.10.2011 23:05
Метод сортировки пузырьком(помогите обнаружить ошибки) Ker_33rus Общие вопросы C/C++ 5 04.11.2009 15:34
сортировка массива Методом Хоара (быстрой сортировкой) wild-weight Паскаль, Turbo Pascal, PascalABC.NET 3 26.09.2009 16:46