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

Функция сортировки двумерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка символов и строк http://www.cyberforum.ru/cpp-beginners/thread737059.html
Даны символы s1,s2,... Известно, что символ s1 отличен от восклицательного знака и что среди s2,s3,... есть по крайне мере один восклицательный знак. Пусть s1, ... sN-символы данной...
C++ C++ Использование библиотечных функций string.h Дана текстовая строка. Распечатать строку, состоящую из слов заданной, расположенных в лексикографическом порядке, используя функции strtok, strlen, strnicmp. http://www.cyberforum.ru/cpp-beginners/thread737050.html
C++ инструменты для разработки под Symbian 9.4
Уважаемые коллеги, подскажите пожалуйста начинающему, какие же все таки необходимы инструменты для написания ПО под Symbian 9.4 (s60v5) ?? очень много статей перелазил, поставил carbide, sdk, perl,...
C++ Рекурсивный перевод чисел
Здравствуйте, вот есть такое задание как решить до моего ума не доходит Реализовать рекурсивную процедуру представления натурального числа Z в восьмеричной системе счисления. заранее спасибо
C++ Целочисленная матрица n*m . Найти номера строк с простыми числами http://www.cyberforum.ru/cpp-beginners/thread736970.html
Доброго всем времени суток. Люди прошу помощи! Пролежал в больнице 2 месяца и теперь не в зуб ногой в написании программ на си++. Вот задача 1: Для каждой из заданных прямоугольных...
C++ Передать массив I(10) в массив J(10) в обратной последовательности помогите пожалуйта решить пару задач, задачи не сложные, но я не могу в них разобраться 1)Увеличить указатель на размер адресуемой им структуры. При помощи массивов и указателей: 2)Передать массив... подробнее

Показать сообщение отдельно
Fengtu
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 9

Функция сортировки двумерного массива - C++

18.12.2012, 19:00. Просмотров 1615. Ответов 3
Метки (Все метки)

необходимо написать функцию сортирующую двумерный массив.
за основу взял сортировку при помощи указателей типа:
C++
1
2
3
4
    for (int g=0; g<n*m; g++)
        for (int p=0; p<(n*m-1); p++)
            if ( *(*arr+p)>*(*arr+p+1) )
                swap( *(*arr+p),*(*arr+p+1) );
которую и попытался запихнуть в функцию:

C++
1
2
3
4
5
6
7
void sort(int *, int); // прототип
 
void sort(int *mas, int dlin) // функция
{   for(int i=0; i<dlin; i++)
        for(int j=0; j<dlin-1; j++)
            if ( *(*mas+j)>*(*mas+j+1) ) swap( *(*mas+j),*(*mas+j+1) );
}
VS Выдает ошибку: "операнд * должен быть указателем. Подскажите плз, в чем дело и как править?


Кликните здесь для просмотра всего текста

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
#include <iostream>
 
using namespace std;
const int n=4, m=5;
 
void disp(int [][m], int);
void sort(int *, int);
 
void main()
{   int mat[n][m]={0};
 
    for (int i=0; i<n*m; i++)
        *(*mat+i)=0+rand()%9;
 
    disp(mat,m);
    cout<<endl<<endl;
    sort(*mat, n*m);
    cout<<endl<<endl;
    disp(mat,m);
 
    system("pause");
}
 
void disp(int mas[][m], int dlin)
{   for( int i=0; i<n; i++)
    {   for(int j=0; j<m; j++)
            cout<<mas[i][j]<<" ";
        cout<<endl;
    }
}
 
void sort(int *mas, int dlin)
{   for(int i=0; i<dlin; i++)
        for(int j=0; j<dlin-1; j++)
            if ( *(*mas+j)>*(*mas+j+1) ) swap( *(*mas+j),*(*mas+j+1) );
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru