С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59

Сортировка различного типа чисел

14.01.2013, 17:47. Показов 1105. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
программа сортирует числа одного типа, а как можно сделать так, чтобы сортировались разные типы чисел?

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
#include <iostream>
using namespace std;
const int n=5;
template<class T>
void sort(T a[])
{
    T buffer;
    for (int i=0;i<n;i++)
        for (int j=0;j<n-1;j++)
            if (a[j+1]<a[j])
            {
                buffer=a[j+1];
                a[j+1]=a[j];
                a[j]=buffer;
            }
}
int main()
{
    int a[n]={4,1,3,2,11};
    sort(a);
    
    for (int i=0;i<n;i++)
        cout<<a[i]<<"  ";
    cout<<endl;
    system("PAUSE");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2013, 17:47
Ответы с готовыми решениями:

Создание классов с использованием конструкторов различного типа
Здраствуйте!, появилась проблемка с работой, чего-то не доганаю....=) Задание: Разработать программу на С++ использующую класс...

Сортировка чисел типа char с сохранением привязанного к этой цифре слова. VS2013
Это одна из функций программы которая читает с .txt файла строки, в одной строке название команды в другой количество набранных очков....

Определите объединения, элементами которого являются массивы из трех чисел типа long и с шести чисел типа int
Определите объединения, элементами которого являются массивы из трех чисел типа long и с шести чисел типа int. Значение элементов...

7
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
14.01.2013, 18:10
yulla, ну так у вас же есть шаблон функции. Можно использовать для разных типов. Например:

C++
1
2
double a[n]={4.5,1.45,3.5,2.44,11.12};
sort(a);
или

C++
1
2
char a[n]={'a','d','e','c','b'};
sort(a);
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59
14.01.2013, 18:18  [ТС]
Schizorb, нет, в программе одновременно должны сортироваться два типа чисел
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 18:23
Цитата Сообщение от yulla Посмотреть сообщение
в программе одновременно должны сортироваться два типа чисел
А поподробнее
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59
14.01.2013, 18:30  [ТС]
ну, примерно так, хотя здесь куча ошибок

Code
1
2
3
4
5
1>c:\users\1\documents\visual studio 2010\projects\55656\55656\4567890.cpp(5): error C2988: неопознанное объявление или определение шаблона
1>c:\users\1\documents\visual studio 2010\projects\55656\55656\4567890.cpp(5): error C2059: синтаксическая ошибка: ,
1>c:\users\1\documents\visual studio 2010\projects\55656\55656\4567890.cpp(24): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>c:\users\1\documents\visual studio 2010\projects\55656\55656\4567890.cpp(24): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
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
#include <iostream>
using namespace std;
const int n=5;
template<class T>
void sort(T a[]), sort (T b[])
{
    T buffer;
    for (int i=0;i<n;i++)
        for (int j=0;j<n-1;j++)
            if (a[j+1]<a[j])
            {
                buffer=a[j+1];
                a[j+1]=a[j];
                a[j]=buffer;
            }
 if (b[j+1]<b[j])
            {
                buffer=b[j+1];
                b[j+1]=b[j];
                b[j]=buffer;
            }
}
int main()
{
    int a[n]={4,1,3,2,11};
    sort(a);
    
    for (int i=0;i<n;i++)
        cout<<a[i]<<"  ";
    cout<<endl;
    double b[n]={4.5,1.45,3.5,2.44,11.12};
    sort(b);
    
    for (int i=0;i<n;i++)
        cout<<b[i]<<"  ";
    cout<<endl;
    system("PAUSE");
    return 0;
}
0
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
14.01.2013, 18:32
yulla, функцию-то менять не нужно.

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
#include <iostream>
using namespace std;
const int n=5;
template<class T>
void sort(T a[])
{
    T buffer;
    for (int i=0;i<n;i++)
        for (int j=0;j<n-1;j++)
            if (a[j+1]<a[j])
            {
                buffer=a[j+1];
                a[j+1]=a[j];
                a[j]=buffer;
            }
}
 
int main()
{
    int a[n]={4,1,3,2,11};
    sort(a);
    
    for (int i=0;i<n;i++)
        cout<<a[i]<<"  ";
        
    cout<<endl;
    double b[n]={4.5,1.45,3.5,2.44,11.12};
    sort(b);
    
    for (int i=0;i<n;i++)
        cout<<b[i]<<"  ";
    cout<<endl;
    system("PAUSE");
    return 0;
}
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59
14.01.2013, 18:36  [ТС]
Schizorb, спасибо большое!)
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.01.2013, 18:58
C++
1
void sort(T a[])
Только выглядит не очень, впихните n в параметры
C++
1
void sort(T* a,size_t n);
Ну или в stl-стиле перепешите
C++
1
void sort(T* first,T* last);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2013, 18:58
Помогаю со студенческими работами здесь

задание с ипользованием данных различного типа
Фруктовый магазин продает яблоки поштучно по 1 руб., груши по 2 руб., апельсины по 3 руб. В первые два дня недели: продано понедельник – х...

Построение структур поля в волноводах различного типа
Здарова, мужики. Ищу литературу, для укрепления и лучшего освоения/повторения методик построение/изучение структур поля в различных...

Как заполнить datagrid из БД, данными различного типа
Здравствуйте. В БД есть 2 таблицы. связанные полем id. 1. Необходимо заполнить datagrid1. Но тут возникает несколько проблем: - в...

Алгоритм выделение динамической памяти под переменные различного типа
послезавтра экзамен, но я не могу найти в интернете ответы на эти вопросы: если знаете где искать, или знате сами ответы, просьба помочь...

Сортировка чисел типа double
Что-то никак не получается сделать. Не пойму, в чем проблема. #include &lt;stdlib.h&gt; #include &lt;fcntl.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru