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

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

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

Действительная матрица n * m. Сортировать строки в порядке убывания значений первых элементов - C++

02.04.2014, 18:25. Просмотров 361. Ответов 5
Метки нет (Все метки)

Данная действительно матрица размером n * m. Сортировать (переставить) строки матрицы в порядке убывания значений первых элементов строк
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 18:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Действительная матрица n * m. Сортировать строки в порядке убывания значений первых элементов (C++):

Сортировать строки матрицы n * m в порядке убывания значений первых элементов строк - C++
Данная действительно матрица размером n * m. Сортировать (переставить) строки матрицы в порядке убывания значений первых элементов строк

Дана действительная матрица размера 3*3. Найти сумму наибольших значений строки - C++
Дана действительная матрица размера 3*3. Найти сумму наибольших значений строки. #include <iostream> using namespace std; int...

Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов, расположенных в зашт - C++
Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов, расположенных в закрашенной части матрицы. ...

Дана действительная квадратная матрица порядка n. Найти наибольшее их значений элементов, расположенных в заштрихованной части матрицы - C++

Переставить строки в порядке убывания сумм элементов - C++
здравствуйте! помогите пожалуйста решить задачу! очень нужно! Дана целочисленная квадратная матрица порядка n. Переставить строки в...

Упорядочить строки матриц в порядке убывания наибольших элементов строк - C++
вот такую задачку задали. В С++ Упорядочить строки матриц в порядке убывания наибольших элементов строк. Помогите кто чем может...

5
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.04.2014, 18:37 #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
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
 
#include <iostream>
 
const int n = 5, m = 10;
 
template<class T>
void swapptr(T*& p1, T*& p2)
 { T* _tp = p1; p1 = p2; p2 = _tp; }
 
using namespace std;
 
int main(int argc, char** argv)
{
    int** A = new int*[n];
    memset((void*)A, 0x00, 4 * n);
 
    for (int t1 = 0; t1 < n; t1++)
    {
        A[t1] = new int[m];
        for (int t2 = 0; t2 < m; t2++)
        {
            A[t1][t2] = rand() % 9 + 1;
            std::cout << A[t1][t2] << " ";
        }
 
        std::cout << endl;
    }
 
    std::cout << endl << endl;
 
    for (int i = 0; i < n; i++)
    {
        int max = i;
        for (int j = max+1; j < n; j++)
            max = (A[j][0] > A[max][0]) ? j : max;
 
        swapptr<int>(A[i],A[max]);
    }
 
    for (int z1 = 0; z1 < n; z1++)
    {
        for (int z2 = 0; z2 < m; z2++)
            std::cout << A[z1][z2] << " ";
 
        std::cout << endl;
    }
 
    std::cout << endl;
    std::cin.get();
 
    return 0;
}
http://codepad.org/hDEKleL4
1
Миниатюры
Действительная матрица n * m. Сортировать строки в порядке убывания значений первых элементов  
Vovanich13
1 / 1 / 0
Регистрация: 27.01.2014
Сообщений: 91
02.04.2014, 19:03  [ТС] #3
zitxbit, спасибо, но можно сделать как-то проще???
0
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.04.2014, 19:21 #4
Подождите, еще один пример на STL C++

Добавлено через 17 минут
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
62
#include <stdio.h>
#include <stdlib.h>
 
#include <vector>
#include <iostream>
#include <algorithm>
 
const int n = 5, m = 10;
 
template<class T>
void swapptr(T*& p1, T*& p2)
 { T* _tp = p1; p1 = p2; p2 = _tp; }
 
typedef std::vector<std::vector<int>> matrix;
 
using namespace std;
 
int RandValue() { return rand() % 9 + 1; }
 
int main(int argc, char** argv)
{
    static matrix A(n); 
    matrix::iterator row_iterator;
    for (row_iterator = A.begin(); row_iterator != A.end(); row_iterator++)
    {
        row_iterator->resize(m, 0);
        std::generate(row_iterator->begin(), row_iterator->end(), RandValue);
        for (matrix::size_type index = 0; index < m; index++)
            std::cout << row_iterator->at(index) << " ";
 
        std::cout << endl;
    }
 
    std::cout << endl << endl;
 
    for (row_iterator = A.begin(); row_iterator != A.end(); row_iterator++)
    {
        matrix::iterator max_iterator = row_iterator;
        matrix::iterator sort_iterator = max_iterator;
        while (sort_iterator != A.end())
        {
            if (sort_iterator->at(0) > max_iterator->at(0))
                max_iterator = sort_iterator;
            sort_iterator++;
        }
 
        std::iter_swap(row_iterator, max_iterator);
    }
 
    for (row_iterator = A.begin(); row_iterator != A.end(); row_iterator++)
    {
        for (matrix::size_type index = 0; index < m; index++)
            std::cout << row_iterator->at(index) << " ";
 
        std::cout << endl;
    }
 
    std::cout << endl;
    std::cin.get();
 
    return 0;
}
Проще некуда.
1
Vovanich13
1 / 1 / 0
Регистрация: 27.01.2014
Сообщений: 91
02.04.2014, 19:28  [ТС] #5
zitxbit, мне нужно без библиотек:#include <vector>,
#include <algorithm>,#include <memory.h>
0
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.04.2014, 19:30 #6
Действительная матрица n * m. Сортировать строки в порядке убывания значений первых элементов

Добавлено через 27 секунд
Без этих библиотек никак.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 19:30
Привет! Вот еще темы с ответами:

На С++ Билдер 6 (Описать функцию, располагающую столбцы целочисленного двумерного массива в порядке убывания элементов k-ой строки) - C++
Помогите пожалуйста написать программу,очень надо=(!!!! Описать функцию, располагающую столбцы целочисленного двумерного массива в...

Упорядочить строки матрицы в порядке неубывания их первых элементов - C++
Всем привет! Помогите пожалуйста решить задачу, хз как делать :) Дана матpица A. Упорядочить строки матрицы в порядке не убывания их...

Упорядочить строки матрицы в порядке неубывания их первых элементов. - C++
1 курс, 1 семестр. Лекции читают плохо, пытаюсь разобраться сама, все время вылазят ошибки. Задачи вроде бы легкие, стыдно. Но может быть...

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
02.04.2014, 19:30
Ответ Создать тему
Опции темы

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