0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 1
1

Упорядочить элементы столбцов матрицы по убыванию, а сами столбцы по возрастанию элементов 1-й строки

31.05.2017, 18:02. Показов 2097. Ответов 1
Метки нет (Все метки)

Дана матрица Х[7,9]. Упорядочить элементы столбцов матрицы по убыванию, а сами столбцы по возрастанию элементов 1-й строки (использовать сортировку выбором).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2017, 18:02
Ответы с готовыми решениями:

Упорядочить элементы столбцов матрицы по неубыванию, а сами столбцы по возрастанию максимальных элементов столбцов
Дана матрица(8.9). Упорядочить элементы столбцов матрицы по неубыванию, а сами столбцы по...

Упорядочить элементы строк матрицы по убыванию, а сами строки - по возрастанию элементов первого столбца
Дана матрица. Упорядочить элементы строк матрицы по убыванию, а сами строки по возрастанию...

Упорядочить элементы столбцов матрицы по убыванию, а столбцы по убыванию модуля произведения четных элементов столбцов
На контрольной дали задачу. Не знаю как написать. Помогите!:help: Дана матрица действительных...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию...

1
837 / 640 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
31.05.2017, 19:39 2
Лучший ответ Сообщение было отмечено UsingResult как решение

Решение

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
#include <iostream>
#include <array>
#include <cstdlib>
using block = std::array<std::array<int, 9>, 7>;
void ssort(block& arr);
void ssort_row(block& arr, size_t row);
 
int main() {
    block mat;
    for(size_t i = 0; i < mat.size(); ++i){
        for(size_t j = 0; j < mat[i].size(); ++j){
            mat[i][j] = rand() % 10;
            std::cout << mat[i][j] << ' ';
        }
        std::cout << std::endl;
    }
    std::cout << std::endl; 
 
    ssort(mat);//сортруем столбцы
    ssort_row(mat, 0);//сортруем столбцы по 1-ой строке
    for(size_t i = 0; i < mat.size(); ++i){
        for(size_t j = 0; j < mat[i].size(); ++j)
            std::cout << mat[i][j] << ' ';
        std::cout << std::endl;
    }
    return 0;
}
 
//сортировка столбцов матрицы по убыванию
void ssort(block& arr){
    size_t j, cols = (arr.size() > 0) ? arr[0].size() : 0;
    for(size_t c = 0; c < cols; ++c){
        for(size_t i = 0; i < arr.size(); ++i){
            j = i;
            for(size_t p = i + 1; p < arr.size(); ++p){
                if(arr[p][c] > arr[j][c])
                    j = p;
            }
 
            if(i != j)
                std::swap(arr[i][c], arr[j][c]);
        }
    }
}
 
//сортировка столбцов по указанной строке
void ssort_row(block& arr, size_t row){
    size_t j, cols = (arr.size() > 0) ? arr[0].size() : 0;
    for(size_t i = 0; i < cols; ++i){
        j = i;
        for(size_t p = i + 1; p < cols; ++p){
            if(arr[row][p] < arr[row][j])
                j = p;
        }
 
        if(i != j){
            for(size_t r = 0; r < arr.size(); ++r)
                std::swap(arr[r][i], arr[r][j]);
        }
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2017, 19:39
Помогаю со студенческими работами здесь

Упорядочить элементы строк матрицы по невозрастанию, а сами строки - по возрастанию элементов 10-го столбца
Дана матрица Х. Упорядочить элементы строк матрицы по невозрастанию, а сами строки по возрастанию...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию произведения чётных элементов строк
Дана матрица X. Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию...

Массив: Упорядочить элементы строк матрицы по возрастанию, а сами строки по неубыванию произведения четных элементов строк
Дана матрица. Упорядочить элементы строк матрицы по возрастанию, а сами строки по неубыванию...

Упорядочить столбцы матрицы по убыванию значений наибольших элементов столбцов
Дана действ. матрица размера m*n, упорядочить столбцы матрицы по убыванию значений наибольших...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru