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

Реализовать сортировку функции по возрастанию или по убыванию, направление должнен указывать пользователь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ofstream std::ios::binary http://www.cyberforum.ru/cpp-beginners/thread820707.html
почему не сохраняет в бинарном виде? std::ofstream out_m(str_m, std::ios::binary); for(int i = 0; i < counter_m; i++) { tmp_m = save(&temp_m); if(i != counter_m - 1) out_m << tmp_m.Name() << " " << tmp_m.Surname() << " " << tmp_m.First_name() << " " << tmp_m.Destination_year() << " " << tmp_m.Autobiography() << "\n"; else out_m << tmp_m.Name() << " " << tmp_m.Surname() << " "...
C++ Функция поиска в файле Приветствие=) Нужно написать код на C++ который будит спрашивать поочередно название файла для чтения, город и часть города, примерно так: http://www.cyberforum.ru/attachment.php?attachmentid=249178&stc=1&d=1364415710 Затем при определенном выборе пункта меню, искало строку в файле в которой есть и city и part ( в зависимости от первоначального ввода). Поиск должен выполнятся при помощи... http://www.cyberforum.ru/cpp-beginners/thread820700.html
Потоки C++
Кто может скинуть какую-нибуть хорошую статью по ПОТОКАМ? читал про них в книге Шилдт "С++ Базовый курс", но мало что понял((
C++ Записать в файл g, компоненты файла f, исключив повторное вхождения чисел
Дан файл f, компоненты которого являются целыми числами. Записать в файл g, компоненты файла f, исключив повторное вхождения чисел
C++ Сортировка массива методом слияния http://www.cyberforum.ru/cpp-beginners/thread820684.html
#include <iostream> #include <fstream> #include <cstdlib> #include <cmath> using namespace std; double *a,*b,tmp; int n,k,ch1,ch2,h,i,j; int main()
C++ Чтение самплов из wav файла в массив Всем привет!!! Ситуация такая: Заголовок успешно читаю. Хочу получить массив с самплами. Проблема: Не понимаю как преобразовать битовое представление. Цель: Необходимость выводить в виде звуковой волны с последующими трансформациями и записью в файл. (Задание курсовой.) Пока выглядит так: Это структура: подробнее

Показать сообщение отдельно
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
28.03.2013, 09:00     Реализовать сортировку функции по возрастанию или по убыванию, направление должнен указывать пользователь
Вообще-то вы разделом ошиблись. Это раздел для C, а не C++.

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
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
template <class T>
bool decrease(const T& a, const T& b)
{
   return (a < b);
}
 
template <class T>
bool increase(const T& a, const T& b)
{
   return (a > b);
}
 
template <class T>
void sort(T ar[], int size,  int trend)
{
   T x;
 
   bool (*compare)(const T&, const T&) = (trend == 1) ? increase<T> : decrease<T>;
 
   //Пузырьковый метод сортировки
   for (int i = 0; i < size; i++)
   {
      for (int j = size - 1; j > i; j--)
      {
         if (compare(ar[j - 1], ar[j]))
         {
            x = ar[j - 1];
            ar[j - 1] = ar[j];
            ar[j] = x;
         }
      }
   }
}
 
int main()
{
   srand(time(NULL));
   const int size = 10;
   int array[size];
   int trend = 1;
 
   //Заполнение массива
   for (int i = 0; i < size; i++)
   {
      array[i] = rand() % 100;
      cout << array[i] << " ";
   }
   cout << endl << endl;
 
   //Объявление в какую сторону сортировать
   cout << "Trend sort 1= from smaller before greater" << endl
        << "0= from greater before smaller number array" << endl << endl;
   cin >> trend;
 
   //Вызов функции
   sort(array, size, trend);
 
   for (int j = 0; j < size; j++)
   {
      cout << array[j] << " ";
   }
   cout << endl << endl;
 
   return 0;
}
Добавлено через 21 минуту
А лучше, наверное, даже так:
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
template <class T>
bool decrease(const T& a, const T& b)
{
   return (a < b);
}
 
template <class T>
bool increase(const T& a, const T& b)
{
   return (a > b);
}
 
template <typename T, typename F>
void sort(T ar[], int size, F compare)
{
   T x;
 
   //Пузырьковый метод сортировки
   for (int i = 0; i < size; i++)
   {
      for (int j = size - 1; j > i; j--)
      {
         if (compare(ar[j - 1], ar[j]))
         {
            x = ar[j - 1];
            ar[j - 1] = ar[j];
            ar[j] = x;
         }
      }
   }
}
 
int main()
{
   srand(time(NULL));
   const int size = 10;
   int array[size];
   int trend = 1;
 
   //Заполнение массива
   for (int i = 0; i < size; i++)
   {
      array[i] = rand() % 100;
      cout << array[i] << " ";
   }
   cout << endl << endl;
 
   //Объявление в какую сторону сортировать
   cout << "Trend sort 1= from smaller before greater" << endl
        << "0= from greater before smaller number array" << endl << endl;
   cin >> trend;
 
   //Вызов функции
   if (trend)
   {
      sort(array, size, increase<int>);
   }
   else
   {
      sort(array, size, decrease<int>);
   }
 
   for (int j = 0; j < size; j++)
   {
      cout << array[j] << " ";
   }
   cout << endl << endl;
 
   return 0;
}
 
Текущее время: 19:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru