Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2009, 19:41   #1
sershok
 
Регистрация: 14.02.2009
Сообщений: 5
Восклицание Отсортировать массив по убыванию в С++

Дан одномерный массив А, состоящий из целых чисел. Отсортировать данный массив по убыванию.
sershok вне форума Ответить с цитированием
Старый 14.02.2009, 19:52   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int>ms;
//заполнение вектора
sort(ms.begin(),ms.end())
}
Массив будет отсортирован по возрастанию
Думаю,как из него сделать по убыванию догадаешься.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 15.02.2009, 11:38   #3
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию

Возможно человеку нужен вариант чуть проще)))))

Код:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
    //методом пузырька
    int a[10]={1,2,3,4,5,6,7,8,9,0};//объявили и проинициализировали  
     
    for (int i=0;i<10;i++){
        for (int j=0;j<9;j++){
        if (a[j]>a[j+1]) {int prom=0; prom=a[j];a[j]=a[j+1];a[j+1]=prom;}; }};
        //здесь сравнили первое со вторым, если второе больше,
        //то поменяли их местами.
    for (int vyv=0;vyv<10;vyv++){std::cout<<a[vyv];    };
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Таким вот образом например
smile
sinj вне форума Ответить с цитированием
Старый 15.02.2009, 14:46   #4
BarT(48rus)
Пользователь
 
Регистрация: 01.02.2009
Сообщений: 28
По умолчанию

ну это уж совсем просто)
BarT(48rus) вне форума Ответить с цитированием
Старый 16.02.2009, 00:30   #5
July
 
Аватар для July
 
Регистрация: 14.02.2009
Сообщений: 3
По умолчанию

Ну лучше думаю шаблоном)
#include "stdafx.h"
#include <iostream>
#include <windows.h>[/COLOR]

using namespace std;

char bufRus[256];
char* Rus(const char* text){
CharToOem(text,bufRus);
return bufRus;
}


template <typename T1, typename T2>
Sort(T1 *a, T2 n, T2 v = 1){
int i, j;
T1 x;
for(i=0; i<n; i++){
for(j=n-1; j>i; j--){
if( a[j-1] > a[j] ){
x = a[j-1];
a[j-1] = a[j];
a[j] = x;
}
}
}
if(v==1){
for(j=0; j<n; j++) cout<<a[j]<<" ";
}
else{
for(j=n-1; j>=0; j--) cout<<a[j]<<" ";
}
}

int main()
{
int i,n;
cout<<Rus("Введите размерность массива: "); cin>>n;

//массив целочисленного типа
int *a = new int [n];
for(i=0; i<n; i++) a[i]=rand()%100;
cout<<Rus("\n\t Вызов функции Sort для целочисленного массива:")<<endl;
cout<<Rus(" Исходный массив: ")<<endl;
for(i=0; i<n; i++) cout<<a[i]<<" ";
cout<<Rus("\n Массив отсортирован по возростанию:")<<endl;
Sort(a,n,1);
cout<<Rus("\n Массив отсортирован по убыванию: ")<<endl;
Sort(a,n,0);

//массив вещественного типа
float *b = new float [n];
for(i=0; i<n; i++) b[i]=rand()/100.0;
cout<<Rus("\n\n\t Вызов функции Sort для вещественного массива:");
cout<<Rus("\n Исходный массив: ")<<endl;
for(i=0; i<n; i++) cout<<b[i]<<" ";
cout<<Rus("\n Массив отсортирован по возростанию:")<<endl;
Sort(b,n);
cout<<Rus("\n Массив отсортирован по убыванию: ")<<endl;
Sort(b,n,100);

//символьный массив
char str[5] = {'r','t','m','a','s'};
cout<<Rus("\n\n\t Вызов функции Sort для символьного массива:");
cout<<Rus("\n Исходный массив: ")<<endl;
for(i=0; i<5; i++) cout<<str[i]<<" ";
cout<<Rus("\n Массив отсортирован по возростанию:")<<endl;
Sort(str,5);
cout<<Rus("\n Массив отсортирован по убыванию: ")<<endl;
Sort(str,5,0);

cout<<"\n\n";
system("PAUSE");
return 0;
}
July вне форума Ответить с цитированием
Старый 16.02.2009, 00:31   #6
July
 
Аватар для July
 
Регистрация: 14.02.2009
Сообщений: 3
По умолчанию

Ну а вообще сам инфо читай)
July вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отсортировать массив под данный отрезок и как минимум и максимум из него найти SIEGER Паскаль, Turbo Pascal, PascalABC.NET 1 20.11.2008 08:58
Помогите отсортировать массив методом бинарных вставок zhorzh2407 Помощь студентам 1 19.11.2008 17:19
1. Сортировка Шелла по убыванию 2. Сортировка вставками по убыванию Arkuz Помощь студентам 1 25.09.2007 17:16