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

Функции для сортировки массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисление составной функции http://www.cyberforum.ru/cpp-beginners/thread371663.html
Вычисление составной функции..
C++ прокоментировать функцию "ввод из типизированного файла" Всем здрасте. Помогите плих нужно прокоментировать в тех местах где поставил пустые "//" и там где в них вопросы поставил, заранее спасибо, прокоменнтироват надо функцию ввод из типизированного файла она в самом низу. # include <iostream> // заголовочный файл/библиотека для работы с вводом-выводом # include <windows.h> // для функции CharToOem(); # include <fstream> ... http://www.cyberforum.ru/cpp-beginners/thread371652.html
C++ Односвязные списки С++
Помогите пожалуйста с заданием: Необходимо создать список(из целых чисел) добавлением элемента в конец... Я написала программу,только вот элементы добавляются в начало.....как мне исправить это......помогите,пожалуйста.... #include "stdafx.h" #include<iostream> #include<cmath> using namespace std;
C++ Помогите решить лабу.
Нубу и недостудентоте требуется помощь в написании этого: 4. 1. Цель работы Целью настоящей работы является получение студентами практических навыков по решению задач, содержащих вычисление конечных сумм и произведений. 4. 2. Постановка задачи и варианты заданий Решить задачу вычисления значения функции, содержащей сумму или (и) произведение. Варианты заданий приведены в табл. 4.1. В...
C++ Замена элементов в массиве http://www.cyberforum.ru/cpp-beginners/thread371638.html
дан массив 50 на 50. было задание заполнить его случайными числами в диапазоне от -100 до 100 и отсортировать в порядке возрастания. это я сделал. теперь новое задание заменить число - 99 на букву А. Вот листинг предыдущей программы без замены. # include <iostream> # include <conio.h> //# include <math.h> # include <time.h> using namespace std; int const raz = 50;
C++ Вопрос по определению типа переменной В основной программе вычисляется с c = p (9)/h (3, z) + p (4); //Âû÷èñëåíèå ñ. Âûçîâ ðåêóðñèâíûõ ôóíêöèé p è h cout << "c="<< c << endl; cout <<"\n" ; Для её вычисления вызываются две рекурсивные функции // Ðåêóðñèâíàÿ ôóíêöèÿ äëÿ âû÷èñëåíèÿ p double p (int i) подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.10.2011, 16:44     Функции для сортировки массивов
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 <vector>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <utility>
#include <iterator>
#include <functional>
#include <conio.h>
 
template <typename value_type>
struct sorter :
    public std::unary_function<void, std::vector<value_type> >
{
    void operator() (std::vector<value_type>& vector) const
    {
        std::vector<value_type> tmp_vector(vector);
        std::sort(tmp_vector.begin(), tmp_vector.end(), std::greater<value_type>());
        if (!std::equal(tmp_vector.begin(), tmp_vector.end(), vector.begin()))
            vector.assign(tmp_vector.rbegin(), tmp_vector.rend());
    }
};
 
template <typename value_type>
void sort_matrix(std::vector<std::vector<value_type> >& matrix)
{
    std::for_each(matrix.begin(), matrix.end(), sorter<value_type>());
}
 
template <typename value_type>
void print(const std::vector<std::vector<value_type> >& matrix)
{
    for (std::vector<std::vector<double> >::const_iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
    {
        std::copy(i->begin(), i->end(), std::ostream_iterator<double>(std::cout, " "));
        std::cout << std::endl;
    }
}
 
int main()
{
    unsigned short int m, n;
 
    std::cout << "Enter the m, n" << std::endl;
    std::cin >> m >> n;
 
    std::vector<std::vector<double> > matrix(m, std::vector<double>(n));
    
    for (std::vector<std::vector<double> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
        for (std::vector<double>::iterator j = i->begin(), end = i->end(); j != end; ++j)
            *j = rand() % 10;
 
 
    std::cout << "Matrix" << std::endl;
    print(matrix);
 
    sort_matrix(matrix);
    std::cout << "Matrix after sort" << std::endl;
    print(matrix);
 
    _getch();
    return EXIT_SUCCESS;
}
 
Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru