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

Сортировка массива с указанием направления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ блок while http://www.cyberforum.ru/cpp-beginners/thread321262.html
Каким блоком позначается в С++ оператор while?
C++ В-деревья,инициализация Доброго времени суток)) есть вот такие структуры: typedef int index; int n=2; // порядок равен двум const int nn=4; // не более 2*n ключей typedef struct page*ref; struct item { int key; http://www.cyberforum.ru/cpp-beginners/thread321253.html
C++ miniprintf
Здравствуйте! Помогите пожалуйста написать функцию аналог printf - miniprintf, с использование указателей и без использования printf и макросов чтобы поддерживать список аргументов. как-то так :) viod miniprintf (char *st) char *p = st; char **pp = &p - 1; Спасибо.
C++ fpos_t и передача в функцию FILE* (i/o stream)
Есть уже созданый файл text.txt со след. содержанием: "1 2 3 4 5 6 ..." Вопрос. Если в одной функции файл открывается... FILE* p_File;
C++ Выкидует ошибки http://www.cyberforum.ru/cpp-beginners/thread321243.html
Подсчитать количество книг, которые были выданы читателю в поточном месяце, входными данными есть: шифр, название, цена дата выдачи #include "stdafx.h" #include <iostream> #include <math.h> # include <conio.h> #include <string.h> #include <windows.h> #include <tchar.h> #include <fstream>
C++ Запись в файл Приветствую. Такая проблема. Если находит в структуре совпадение с введенным номером, то удаляет из массива эту структуру. Но почему то записывает часть нормально, а оставшуюся часть - мусор в файл. Прошу помочь. void Del() { system("cls"); FileOpen.open("C:\\temp\\BaseFileLibrary.dat", fstream::in); FileOpen>>k; bibl *Q=new bibl; bibl *U=new bibl; bibl *R=new bibl; ... подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.06.2011, 04:21     Сортировка массива с указанием направления
если шаблонная то зачем
Цитата Сообщение от rodrigezrobert Посмотреть сообщение
double tmp = pAr[j] ;
надо
C++
1
T tmp = pAr[j];
Добавлено через 53 минуты
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
#include <iostream>  
 
template <typename T>
void Init(T * pAr, int iSize);
 
template <typename T>
bool compare(const T &, const T &);
 
template <typename T>
void SortArr (T * pAr, int iSize, bool (*func)(const T &, const T &));
 
int main()
{ 
    double arr[10];
    Init(arr, 10);
    SortArr(arr, 10, compare<double>);
    for(int i = 0; i < 10; ++i)
    std::cout << arr[i] << std::endl;
    return 0;
}
 
template <typename T>
void Init(T * pAr, int iSize)
{
    for(int i = 0; i < iSize; ++i)         
    pAr[i] = (rand() % 31) / 1.5;
}
 
template <typename T>
void SortArr (T * pAr, int iSize, bool (*func)(const T &, const T &))
{
    for(int i = 0; i < iSize - 1; ++i)
    for (int j = i + 1; j < iSize; ++j)
        if (func(pAr[i], pAr[j]))
        {
            T tmp = pAr[j];
            pAr[j] = pAr[i];
                                  pAr[i] = tmp;
                }
}
 
template <typename T>
bool compare(const T & m, const T & n)
{
    return m > n;
}
 
Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru