Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 22.06.2019
Сообщений: 35
1

Сортировка случайных чисел

29.08.2019, 16:13. Показов 1585. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста сделать сортировку случайных (3 чисел) по возрастанию в шаблонной функции. Для С++. Час уже сижу и не пойму как это реализовать. Спасибо заранее.
Код
#include <iostream>
#include <time.h>

using namespace std;

template<typename T> T sort(T min, T ave, T max);


void main()

{
	srand(time(NULL));
	setlocale(LC_ALL, "RU");
	int choice;
	cout << " Введите задание : ";
	cin >> choice;
	switch (choice)
	{
		case 1:
		{
			int minimum = 1, average = 1, maximum = 1;
			for (int i = 0; i < minimum && i < average && i < maximum; i++)
			{
				minimum = rand() % 50 + 1;
				average = rand() % 50 + 1;
				maximum = rand() % 50 + 1;
				
			}
			cout << " Ваши сгенерированные числа - " << minimum << " : " << average << " : " << maximum << endl;
		    sort(minimum, average, maximum);
		

		}break;


	default:
	{
		cout << "Вы ввели неверное задание";
	}
	}
	system("pause");

}

template<typename T> T sort(T min, T ave, T max)
{
	
	

}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2019, 16:13
Ответы с готовыми решениями:

Сортировка массивов случайных чисел
Необходимо сгенерировать три случайных числовых массива размером в 500 элементов, вывести эти...

Сортировка массива случайных чисел
Дан массив случайных чисел. Отсортировать его обменом. Написать дополнительно функцию сортировки...

Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел
Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех...

Массив случайных чисел - сортировка
Помогите, пожалуйста, найти ошибку. Генерируется массив случайных чисел, его нужно отсортировать...

4
170 / 122 / 61
Регистрация: 06.02.2015
Сообщений: 300
29.08.2019, 17:45 2
Лучший ответ Сообщение было отмечено JewelRose как решение

Решение

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
#include <iostream>
#include <time.h>
using namespace std;
 
template<typename T>
void swap_if_greater(T& a, T& b){
    if (a > b){
        T tmp(a);
        a = b;
        b = tmp;
    }
}
 
template<typename T>
void sort(T& a, T& b, T& c){
    swap_if_greater(a, b);
    swap_if_greater(a, c);
    swap_if_greater(b, c);
    cout << a << " " << b << " " << c << endl;
}
 
double frand(double fMin, double fMax){ // для примера!
    double f = (double)rand() / (RAND_MAX+1);
    return fMin + f * (fMax - fMin);
}
 
int main() {
    srand(time(NULL));
    setlocale(LC_ALL, "RU");
    int minimum = 1, average = 1, maximum = 1;
 
    minimum = rand() % 50 + 1;
    average = rand() % 50 + 1;
    maximum = rand() % 50 + 1;
 
    cout << minimum << " " << average << " " << maximum << endl;
    sort(minimum, average, maximum);
 
    double minim  = frand(rand() % 50 + 1, rand() % 50 + 1);
    double averag = frand(rand() % 50 + 1, rand() % 50 + 1);
    double maxim  = frand(rand() % 50 + 1, rand() % 50 + 1);
 
    cout << minim << " " << averag << " " << maxim << endl;
    sort(minim, averag, maxim);
 
    system("pause");
    return 0;
}
2
1 / 1 / 0
Регистрация: 22.06.2019
Сообщений: 35
29.08.2019, 18:28  [ТС] 3
Andrey B, спасибо.

Добавлено через 29 минут
Andrey B, а как возможно здесь пузырьковой сортировкой реализовать?
0
170 / 122 / 61
Регистрация: 06.02.2015
Сообщений: 300
29.08.2019, 19:16 4
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
#include <iostream>
#include <time.h>
using namespace std;
 
template<typename T>
void swap(T *a, T *b) {
    T temp = *a;
    *a = *b;
    *b = temp;
}
 
template<typename T>
void print(T *arr,int n) {
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}
 
 
template<typename T>
void sort(T *arr, int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                swap(&arr[j], &arr[j + 1]);
            }
        }
    }
}
 
 
double frand(double fMin, double fMax) { // для примера!
    double f = (double)rand() / (RAND_MAX + 1);
    return fMin + f * (fMax - fMin);
}
 
int main() {
    srand(time(NULL));
    setlocale(LC_ALL, "RU");
    int n = 10;
    int *arr1 = new int[n];
    double *arr2 = new double[n];
 
    for (int i = 0; i < n; i++) {
        arr1[i] = rand() % 50 + 1;
        arr2[i] = frand(rand() % 50 + 1, rand() % 50 + 1); //для проверки
    }
    
    cout << "integer" << endl;
    print(arr1, n);
    sort(arr1, n);
    print(arr1, n);
 
    cout << "double" << endl;
 
    print(arr2, n);
    sort(arr2, n);
    print(arr2, n);
 
    delete arr1;
    delete arr2;
    
    system("pause");
    return 0;
}
1
1 / 1 / 0
Регистрация: 22.06.2019
Сообщений: 35
29.08.2019, 19:21  [ТС] 5
Благодарю.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2019, 19:21

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Сортировка случайных чисел методом Шелла
Выполнить сортировку одномерного массива А случайных целых чисел по возрастанию методом Шелла....

Сортировка вставкой, строки целых случайных чисел
Отсортировать первую и последнюю строки в двумерном массиве целых случайных чисел по убыванию....

Сортировка по возрастанию n количества случайных чисел в listbox
Надо сортировать n количество случайных чисел в listbox по возрастанию. Заранее спасибо.

Возможно ли создание электрического генератора случайных математических чисел или случайных геометрических чисел?
Возможно ли создание электрического генератора случайных математических чисел или случайных...

С помощью генератора случайных чисел создать и вывести на экран массив случайных действительных чисел
Задача №1: С помощью генератора случайных чисел создать и вывести на экран массив А 10x10...

Задача такое нужно построить случайных величин и генерация случайных чисел(ГСЧ
Народ помогите тут надо. Задание такое нужно построить случайных величин и генерация случайных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.