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

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

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

Сортировка двумерного массива по возрастанию - C++

07.02.2009, 02:36. Просмотров 43252. Ответов 21
Метки нет (Все метки)

Помогите, пожалуйста с задачей.
Необходимо отсортировать двумерный массив по возрастанию (не переводя его в одномерный).

Должно получиться примерно так:
0 0 1 1
2 3 4 5
7 8 9 9

С помощью одномерного массива - у меня получилось. А как без него не представляю даже:'(
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2009, 02:36     Сортировка двумерного массива по возрастанию
Посмотрите здесь:
Сортировка строк двумерного массива по возрастанию значений первого столбца C++
Сортировка массива: сначала положительные по возрастанию, потом отрицательные по возрастанию C++
Ошибка при сортировке двумерного массива по возрастанию C++
Упорядочить строки двумерного массива по возрастанию их наибольших элементов. C++
C++ Как отсортировать столбцы двумерного массива по возрастанию (по сумме столбцов)?
C++ Упорядочить по возрастанию все строки двумерного массива, которые неупорядочены по убыванию
C++ Как составить функцию для отсортировки столбцов двумерного массива по возрастанию ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 15:03     Сортировка двумерного массива по возрастанию #21
полазейте по похожей ветке
Сортировка массивов методом пузырька, вставки и быстрым способом
особенно пост #20 посмотрите
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2017, 15:45     Сортировка двумерного массива по возрастанию
Еще ссылки по теме:
C++ Сортировка двумерного массива
Сортировка Двумерного массива C++
C++ Сортировка двумерного массива
Сортировка двумерного массива C++
C++ Сортировка двумерного массива

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

Или воспользуйтесь поиском по форуму:
marat_miaki
99 / 88 / 31
Регистрация: 08.04.2013
Сообщений: 316
16.04.2017, 15:45     Сортировка двумерного массива по возрастанию #22
Вроде работает на указателях
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 
void sort (int *, int row, int col);// сортирует только строки
void print(int *, int row, int col);
void sortAll (int *p, int row, int col); // сортирует массив целиком на указателях
 
int main()
{
    int row = 5, col =10;
    int mas[row][col];
    int *p = &mas[0][0];
 
  for (int i = 0; i < row*col; ++i)
    *(p + i) = (rand ()%100);
 
    print( p, row, col);
     cout << endl;
 
 // for (int i = 0; i < row; ++i ) // сортирует только строки
 //     sort( p, i, col);
 
 sortAll( p, row, col);
 
    print( p, row, col);
  return 0;
}
 
void sort (int *p, int row, int col)
{
      int N = row*col;
        for (int j = 0; j < col-1; ++j) {
            for (int k = 0; k < col-1; ++k) {
                if ( *(p+N+k) > *(p+N+k+1)) {
                int temp=*(p+N+k); *(p+N+k)=*(p+N+k+1);*(p+N+k+1)=temp;
                }
            }
        }
}
 
void print (int *p, int row, int col) {
   int N = row*col;
   for (int i = 0; i < N; i++)
    {
        if(!(i%col)) cout <<endl;
        cout << setw (3) << *(p + i);
    }
}
 
void sortAll (int *p, int row, int col)
{
      int N = row*col;
        for (int i = 0; i < N; ++i) {
            for (int j = 0; j < N; ++j) {
                if ( *(p+i) < *(p+j)) {
                int temp=*(p+i); *(p+i)=*(p+j);*(p+j)=temp;
                }
            }
        }
}
Yandex
Объявления
16.04.2017, 15:45     Сортировка двумерного массива по возрастанию
Ответ Создать тему
Опции темы

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