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

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

Восстановить пароль Регистрация
 
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
23.11.2012, 22:01     Сортировка строк массива #1
На форуме есть множество тем о сортировке массивов, но конкретно под свое решение я способа не нашел.
Нужна функция, которая сортирует матрицу размерностью m x n так, что строки в ней расположены в порядке возрастания сумм элементов этих строк.
Пока что, я смог найти только сумму элементов строки:
C++
1
2
3
4
5
6
7
8
for (int i=0;i<m;i++)
        {
            float str=0;
            for (int j=0;j<n;j++)
            {
                str=str+mas[i][j];
            }
        }
Как можно реализовать функцию сортировки?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
23.11.2012, 22:16     Сортировка строк массива #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
#include <iostream>
#include <iomanip>
#include <algorithm>
int main() 
{   
    const int size = 5;
    int matrix[size][size] = { 12, 34, 5, 7, 9, 
                               11, 3, 4, 5, 89, 
                               12, 45, 67, 78, 90, 
                               1, 2, 3, 4, 5, 
                               78, 12, 56, 78, 9 };  
    int array[5] = { 0 };
    int i, j, temp; 
 
    for ( i = 0; i < size; ++i) 
        for ( j = 0; j < size; ++j) 
            array[i] += matrix[i][j]; 
 
 
    for ( i = 0; i < size; ++i) 
        for ( j = 0; j < size; ++j) 
            if(array[i] < array[j]) 
            { 
              temp = array[i]; 
              array[i] = array[j]; 
              array[j] = temp; 
              std::swap(matrix[i], matrix[j]); 
            } 
   
 
            for ( i = 0; i < size; ++i) 
                for ( j = 0; j < size; ++j) 
                { 
                    if( j % size == 0) 
                        std::cout << std::endl; 
                    std::cout << std::setw(4) << matrix[i][j]; 
                }
            std::cout << std::endl;
}
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
23.11.2012, 22:25  [ТС]     Сортировка строк массива #3
David Sylva, спасибо, а существует ли более простой способ? Просто мы еще не изучали библиотеки <iomanip>, <algorithm>, а также инструкции swap и setw
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
23.11.2012, 22:27     Сортировка строк массива #4
Цитата Сообщение от sword7i Посмотреть сообщение
David Sylva, спасибо, а существует ли более простой способ? Просто мы еще не изучали библиотеки <iomanip>, <algorithm>, а также инструкции swap и setw
это есть более простой, а другой способ это копировать каждый раз каждый элемент.
Yandex
Объявления
23.11.2012, 22:27     Сортировка строк массива
Ответ Создать тему
Опции темы

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