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

Как отсортировать двумерный массив по возрастанию методом пузырька? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
13.11.2012, 01:19     Как отсортировать двумерный массив по возрастанию методом пузырька? #1
Напишите пожалуйста код. Нигде не могу найти(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 01:19     Как отсортировать двумерный массив по возрастанию методом пузырька?
Посмотрите здесь:

Отсортировать массив чисел методом пузырька C++
C++ Отсортировать одномерный массив действительных чисел методом пузырька (по убыванию)
отсортировать каждый столбец матрицы по возрастанию элементов методом "пузырька" C++
Получить из исходного массив положительных чисел и отсортировать его по возрастанию методом пузырька C++
C++ Отсортировать массив по убыванию методом "пузырька
C++ Дан массив из N целых чисел. Отсортировать его по убыванию элементов методом пузырька
C++ Отсортировать массив методом минимального элемента и методом пузырька
C++ Отсортировать массив по убыванию методом пузырька

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 12:54     Как отсортировать двумерный массив по возрастанию методом пузырька? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void sort(int **mas, const int width , const int height ){
  bool sorted=false;
  int i, j;
  int inext, jnext;
  int tmp;
  i=j^=j; 
  while(!sorted){
    for(inext^=inext; inext<width; ++inext){
      for(jnext=(inext?0:1); jnext<heigth; ++jnext){
         if (a[i][j]>a[inext][jnext]){
           tmp=a[i][j];
           a[i][j]=a[inext][jnext];
           a[inext][jnext]=tmp;
            sorted=false;
         }
         i=inext; j=jnext;
      }
     
      
    }
  }
}
Добавлено через 7 минут
точнее mas, а не а

Добавлено через 7 минут
и точнее height, а не heigth

Добавлено через 10 часов 55 минут
Ой, нашёл ошибку. Лучше программу целиком выложить.
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
#include <iostream>
#include <fstream>
#include <locale>
#include <cstdlib>
#include <ctime>
using namespace std;
const int width=10;
const int heigth=10;
int a[width][heigth];
void print(){
for (int i=0; i<width; i++){
    for (int j=0; j<heigth; j++){
        cout<<a[i][j]<<", ";
    }
    cout<<endl;
}
}
void create(){
srand(time(NULL));
for (int i=0; i<width; i++)
  for (int j=0; j<heigth; j++)
      a[i][j]=rand()%100;
}
void sort(){
  bool sorted=false;
  int i, j;
  int inext, jnext;
  int tmp;
  while(!sorted){
    sorted=true;
    i=j^=j; 
    for(inext^=inext; inext<width; ++inext){
      for(jnext=(inext?0:1); jnext<heigth; ++jnext){
         if (a[i][j]>a[inext][jnext]){
           tmp=a[i][j];
           a[i][j]=a[inext][jnext];
           a[inext][jnext]=tmp;
            sorted=false;
         }
         i=inext; j=jnext;
      }
    }
  }
}
int main(){
  create();
  cout<<"original"<<endl;
  print();
  cout<<"sorted"<<endl;
  sort();
  print();
  return 0;
}
Yandex
Объявления
13.11.2012, 12:54     Как отсортировать двумерный массив по возрастанию методом пузырька?
Ответ Создать тему
Опции темы

Текущее время: 06:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru