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

Сортировка сложноватая - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнение чисел. http://www.cyberforum.ru/cpp-beginners/thread166471.html
Вообщем нужно ввести с клавы 3 числа. Нужно чтобы прога вывела их в порядке max, min, middle. В голову кроме if(max<min){}ничего не приходит. Просто код получиться очень большой. Есть другой вариант ?
C++ Литература для языка C Подскажите пожалуйста полезную литературу для изучения языка С c нулевого уровня! http://www.cyberforum.ru/cpp-beginners/thread166466.html
C++ массив
В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить сумму элементов массива, расположенных до минимального элемента.
C++ Стандартная библиотека шаблонов (STL)
Пожалуйста,помогите решить.. Написать программу, которая использует класс string для анализа строки, содержащей математическое выражение, например, вида - (2+3)*4+1. Строка вводится с клавиатуры. Программа выдает результат вычисления выражения.
C++ Обработка исключительных ситуаций. http://www.cyberforum.ru/cpp-beginners/thread166453.html
Пожалуйста,помогите решить..В субботу экзамен,а я физически не успеваю написать 6 программок..( Написать функцию вычисления значения по заданной строке символов, являющихся записью этого числа в десятичной системе счисления. Предусмотреть случай выхода за границы диапазона определяемого типом int. Используйте механизм исключений.
C++ vector - что не так? void delSame(vector<int> &first, vector<int> &second) { vector<int>::iterator pf, ps; for(pf=first.begin(); pf!=first.end(); pf++) for(ps=second.begin(); ps!=second.end(); ps++) if(*pf==*ps) {first.erase(pf); second.erase(ps); break;} } функция получает два вектора и если два элемента одинаковые, удаляет их 1--> 2 3 5 5 подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.09.2010, 23:12     Сортировка сложноватая
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
#include <iostream>
#include <iomanip>
#include <set>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <ctime>
#include <cassert>
 
int rnd(){
    return rand() % 100;
}
 
int main(){
    int rows, columns, **matrix;
    
    srand(time(NULL));
    
    std::cout << "Rows: ";
    std::cin >> rows;
    std::cout << "Columns: ";
    std::cin >> columns;
    matrix = new int* [ rows ];
    for ( int i = 0; i < rows; ++i ){
        matrix[i] = new int [ columns ];
        std::generate_n(matrix[i], columns, rnd);
    }
    
    std::cout << "\nUnsorted:" << std::endl;
    for ( int i = 0; i < rows; ++i ){
        for ( int j = 0; j < columns; ++j )
            std::cout << std::right << std::setfill('0') << std::setw(2) << matrix[i][j] << ' ';
        std::cout << std::endl;
    }
    
    std::multiset<int> set;
    for ( int i = 0; i < rows; ++i )
        std::copy(matrix[i], matrix[i] + columns, std::inserter(set, set.begin()));
    assert ( set.size() == rows * columns );
    for ( int i = 0; i < rows; ++i ){
        for ( int j = 0; j < columns; ++j ){
            matrix[i][j] = *set.begin();
            set.erase(set.begin());
        }
    }
    
    std::cout << "\nSorted:" << std::endl;
    for ( int i = 0; i < rows; ++i ){
        for ( int j = 0; j < columns; ++j )
            std::cout << std::right << std::setfill('0') << std::setw(2) << matrix[i][j] << ' ';
        std::cout << std::endl;
    }
    
    for ( int i = 0; i < rows; ++i )
        delete [] matrix[i];
    delete [] matrix;
    
    return 0;
}
 
Текущее время: 22:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru