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

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

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

Пожалуйста, нужно отсортировать двумерный массив - C++

08.10.2013, 13:54. Просмотров 286. Ответов 1
Метки нет (Все метки)

Всем привет.
Помоготе, пожалуйста.. Вторую неделю не могу сделать задание, через два дня уже сдавать... В задании нужно упорядочить строки матрицы в порядке возрастания их последних элементов(т.е. сравнить последний элемент каждой строки и упорядочить все строки в порядке возрастания этих последних элементов). Вся программа почти готова, но функция сортировки у меня никак не работает. Вроде как эта функция, которую я написал ниже может сравнивать последние элементы массива, но я не могу написать алгоритм упорядочивания. Помогите, пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Sort(int col,int col2) // col - кол-во строк, col2 - кол-во столбцов
{
    int razm = 0;
    for (int k = 1; k < col; k++)
    {
        for (int i = col2-1; i < col2; i++)
        {
            for (int j =col2-1 ; j <col2; j++)
            {
                if (array[k][j] < array[k-1][j])
                {
                    // тут должна быть сортировка
                }
            }
        }   
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 13:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пожалуйста, нужно отсортировать двумерный массив (C++):

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Отсортировать двумерный массив по столбцам - C++
С помощью какой сортировки можно отсортировать двумерный массив по столбцово? Следующий вопрос вот в чем. Вот у меня двумерный массив (3...

Отсортировать двумерный массив по столбцам - C++
Добрый день! Я хочу отсортировать двухмерный масив по колоннам! Вот код программы -&gt; #include &lt;bits/stdc++.h&gt; using...

Отсортировать двумерный массив по убыванию простых чисел - C++
Нужно отсортировать двумерный массив по количеству простых чисел в нем по убыванию. Сколько не пытался , сортирует как то кривовато.

Ввести двумерный массив и отсортировать его методом вставки - C++
Суть программы в том чтобы ввести двумерный массив и отсортировать его методом вставки. Но вот что выдает отладчик при вызове функции...

Как отсортировать двумерный массив по возрастанию методом пузырька? - C++
Напишите пожалуйста код. Нигде не могу найти(

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Alexdemath
125 / 122 / 6
Регистрация: 11.04.2010
Сообщений: 255
08.10.2013, 16:22 #2
Например, можно немного подправить сортировку пузырьком. Пример

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
#include <iostream>
using namespace std;
 
int main()
{   
    setlocale(0,"");
 
    int A[5][10] = {{3, 8, 2, 7, 5, 2, 9, 1, 0, 1},
                    {2, 1, 6, 0, 5, 6, 8, 3, 3, 0},
                    {1, 2, 5, 2, 2, 1, 0, 7, 4, 9},
                    {1, 6, 1, 0, 2, 2, 5, 4, 5, 7},
                    {2, 2, 1, 9, 1, 2, 6, 9, 9, 4}};
    int const rows = 5, cols = 10;
 
    cout << "Матрица 5 на 10:" << "\n\n";
    for (int i = 0; i < rows; i++)
     { for (int j = 0; j < cols; j++) cout << "  " << A[i][j];
       cout << "\n";
     }
 
    for (int i = 0; i < rows-1; i++)         // Сортировка строк матрицы в порядке
     { for (int j = i+1; j < rows; j++)      //  возрастания их последних элементов
         { if (A[j][cols-1] < A[i][cols-1])
            { int T[cols] = {};
              for (int k = 0; k < cols; k++) 
               { T[k] = A[j][k];
                 A[j][k] = A[i][k];
                 A[i][k] = T[k];
               }
            }
         }
     }
 
    cout << "\nОтсортированная матрица в порядке возрастания\n";
    cout << "последних элементов строк: \n\n";
    for (int i = 0; i < rows; i++)
     { for (int j = 0; j < cols; j++) cout << "  " << A[i][j];
       cout << "\n";
     }
 
    cout << endl;
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 16:22
Привет! Вот еще темы с ответами:

отсортировать двумерный массив по строкам без доп массивов - C++
Подскажите плз как отсортировать массив двумерный по строкам, не используя доп массивов (как я понял переписывать в одномерный нельзя)....

Как отсортировать двумерный массив по сумме элементов в строке - C++
Дан массив 4 4 5 5 5 5 5 5 5 5 5 4 4 5 4 надо чтоб получилось 5 5 5 5 5 4 4 5 5 5 5 4 4 5 4

Скажите пожалуйста как отсортировать массив - C++
задано массив действительных чисел отсортировать массив по убыванию

создать и отсортировать двумерный массив по строкам используя алгоритм сортировки вставкой - C++
создать и отсортировать двумерный массив по строкам используя алгоритм сортировки вставкой


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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