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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Два файла с символами: получить номер первого элемента, в котором эти файлы отличаются http://www.cyberforum.ru/cpp-beginners/thread1137190.html
дано два файла с одинаковым количеством компонент, компонентами которого являются символы выяснить совпадают ли попарно их компоненты, если нет то получить номер первого элемента, в котором эти файлы...
C++ Переставить элементы в обратном порядке(С++) Напишите программу, которая переставляет элементы массива в обратном порядке без использования дополнительного массива. Программа должна считать массив, поменять порядок его элементов, затем вывести... http://www.cyberforum.ru/cpp-beginners/thread1137186.html
C++ Ввод и вывод матрицы в виде ромба
Суть задания. Нужно в квадратную матрицу ввести ромб, размер матрицы задает пользователь (допустим размер матрицы - нечетное число, для начала). Сначало программа заполняет ромб единицами, а вокруг...
Разбор задачи на построение массивов C++
В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Побеждает спортсмен, у которого максимален наилучший бросок. Если таких несколько, то из них побеждает тот, у которого...
C++ Использование конструктора на С++ http://www.cyberforum.ru/cpp-beginners/thread1137170.html
Дошел до конструктора и деструктора - которые используются, для инициализации членов класса, написал программу и не хочет компилироваться, выдает: fatal error LNK1120: 1 неразрешенных внешних...
C++ Загрузка библиотеки и использованием ее функций Добрый день уважаемые форумчане. Как всегда не нашел подходящего раздела, поэтому пишу тут. Есть turbo c++ версии 3.0. и есть библиотека(lib) от разработчика контроллеров Vortex, которая... подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.04.2014, 19:21
Подождите, еще один пример на 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru