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

сортировка массива - C++

Восстановить пароль Регистрация
 
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
23.02.2011, 17:05     сортировка массива #1
здравствуйте, посоветуйте пожалуйста, каким образом можно сортировать двумерный массив, если понятен принцип для одномерного
отсортировал первую строку массива, а первый элемент второй строки сравниваем с последним, чтобы понять, в какую строку его вставлять?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2011, 17:05     сортировка массива
Посмотрите здесь:

C++ Сортировка массива
Сортировка массива C++
C++ сортировка массива
Сортировка Массива C++
C++ Сортировка массива
Указатели массива и сортировка массива C++
Сортировка массива C++
Сортировка массива O(m+n) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.02.2011, 17:39     сортировка массива #2
кладёшь двумерный в одномерный, сортируешь, кладёшь обратно
NotMine?
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 23
23.02.2011, 19:43     сортировка массива #3
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
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void main()
{
srand(time(0));
bool flag = true;
int temp[20][20];
for(int i = 0; i < 20; i++)
   for(int j = 0; j < 20; j++)
    temp[i][j] = rand()%50+1
for(int k = 0; flag; k++)
{
flag = false;
for(int i = 0; i < 20-k; i++)
   for(int j = 0; j < 20; j++)
   {
        if(temp[i][j] > temp[i][j+1])
      {
      int temp = temp[i][j];
      temp[i][j] = temp[i][j+1];
      temp[i][j+1] = temp;
      flag = true;
       }
    }
}
если есть ошыбки поиграйся с 2 обявлениями цикла))

Добавлено через 26 минут
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
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
void main()
{
srand(time(0));
bool flag = true;
int temp[20][20];
for(int i = 0; i < 20; i++)
   for(int j = 0; j < 20; j++)
    temp[i][j] = rand()%50+1;
for(int k = 0; flag; k++)
{
flag = false;
for(int i = 0; i < 20-k; i++){
   for(int j = 0; j < 20-k; j++)
   {
        if(temp[i][j] > temp[i][j+1])
      {
      int t = temp[i][j];
      temp[i][j] = temp[i][j+1];
      temp[i][j+1] = t;
      flag = true;
       }
    }
}
}
for(int i = 0; i < 20; i++){
   for(int j = 0; j < 20; j++)
       cout<<temp[i][j]<<" ";
   cout<<endl;
}
}
если есть ошыбки посмотри 2 цикл j)набирал прям здесь в редакторе))
Yandex
Объявления
23.02.2011, 19:43     сортировка массива
Ответ Создать тему
Опции темы

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