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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Вишенка
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 6
#1

Упорядочивание массивов - C++

18.11.2009, 22:43. Просмотров 1329. Ответов 11
Метки нет (Все метки)

Помогите, пожалуйста, решить задачу...

Написать программу упорядочивание массивов типа int, float и complex по убыванию. Функции, упорядочивающие массивы имеют одно и тоже имя.

Это надо в с++ в Visual Studio
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2009, 22:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочивание массивов (C++):

Упорядочивание массивов - C++
Имеется два отсортированных исходных массива целых чисел: первый- по убыванию, а второй- по возрастанию. Составить программу, которая...

Упорядочивание массивов - C++
Здравствуйте, не знаю что делать, по этому пишу сюда. Задание звучит следующим образом: "Дана таблица отрицательных чисел. Поставить все...

Объединение и упорядочивание массивов - C++
Составить программу которая объединяет два упорядоченных по возрастанию массива в один, так же упорядоченный массив.

Упорядочивание "пузырьком" массивов, вводимых пользователем - C++
Всем доброго времени суток. Недавно перешел с Pascal на С++. Все нервы убил на этот C++, делаю задание: 10 массивов, которые вводит...

Упорядочивание массива - C++
дан массив вещественных чисел требуется написать функции, которые 1. упорядочивают по убыванию 2.упорядочивают по возрастанию ...

Упорядочивание массива - C++
Дан массив размера N. Вывести вначале его элементы с четными1|нечетными2 индексами, а затем — с нечетными1|четными2.

11
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
19.11.2009, 00:47 #2
Вот тело функции для упорядочивания массивов типа int и float... с типом complex в С++ я не знаком...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     
            float nTemp;
            for (int i = 0; i < size; i++)  //внешнее прохождение
            {
                for (int j = 1; j < size; j++)  //внутреннее прохождение
                {
                    if (arr1[j - 1] < arr1[j])  //если элементы стоят на на свое месте,
                    {                   //то меняем их местами
                        nTemp = arr1[j - 1];
                        arr1[j - 1] = arr1[j];
                        arr1[j] = nTemp;
                    }
                }
            }
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 16:11 #3
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
#include <iostream>
#include <vector>
#include <complex>
#include <algorithm>
#include <functional>
 
 
struct complex : public std::binary_function<std::complex<double>,std::complex<double>,bool> 
{
    bool operator() (const std::complex<double> &a, const std::complex<double> &b)
    {
        return a.real() > b.real();
    }
};
 
int main()
{
    std::vector<std::complex<double>>a;
    std::complex<double>first(2.0,2.0);
    std::complex<double>second(3.0,3.0);
    std::complex<double>third(4.0,4.0);
    a.push_back(first);
    a.push_back(second);
    a.push_back(third);
    std::copy(a.begin(),a.end(),std::ostream_iterator<std::complex<double>>(std::cout," "));
    std::sort(a.begin(),a.end(),complex());
    std::cout<<"new array"<<std::endl;
    std::copy(a.begin(),a.end(),std::ostream_iterator<std::complex<double>>(std::cout," "));
    return 0;
}
0
Zhomart
0 / 0 / 0
Регистрация: 16.06.2009
Сообщений: 9
19.11.2009, 19:39 #4
Можно еще короче.
C++
1
2
3
4
5
#include <algorithm>
...
sort(a+0,a+n); // от 0 до n-1
reverse(a+0,a+n);// от 0 до n-1
...
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 20:18 #5
Zhomart, тогда уж в sort сразу функциональный объект запихнуть.
0
Zhomart
0 / 0 / 0
Регистрация: 16.06.2009
Сообщений: 9
19.11.2009, 20:20 #6
Андрейка, а так будеть медленно работать.
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 20:23 #7
Zhomart, так я думаю из вектора в чисел 10 мы не особо эту медленность заметим)
0
Zhomart
0 / 0 / 0
Регистрация: 16.06.2009
Сообщений: 9
19.11.2009, 20:25 #8
Андрейка, кто знает, может там 10^5 или больше елементов.
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 20:41 #9
Zhomart, ну это всё конечно да но я думаю девушке в универ нужно а туда для теста думаю элементов 10 хватит показать что алгоритм не рушится ) ещё я вот про комплексные числа написал но я не уверен по какому критерию их сортировать у таких чисел же 2 части действительная и мнимая так что подождём Вишенку )
0
Zhomart
0 / 0 / 0
Регистрация: 16.06.2009
Сообщений: 9
19.11.2009, 20:49 #10
Андрейка, надеюсь она знает как сравнивать двух комплексных числа )
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 20:51 #11
Zhomart, да эт всё ерунда она operator() перегрузит как ей надо .
0
Zhomart
0 / 0 / 0
Регистрация: 16.06.2009
Сообщений: 9
19.11.2009, 20:56 #12
Андрейка, странно, а че за operator()? по идее для сортировки нужен оператор "bool operator<(const Complex&)". или не так?
0
19.11.2009, 20:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2009, 20:56
Привет! Вот еще темы с ответами:

Упорядочивание матрицы - C++
Ввести с клавиатуры квадратную матрицу из целых чисел размером M X M (M также вводится с клавиатуры). Ввести число K (1&lt;=K&lt;=M). K-ую по...

упорядочивание по убыванию.... - C++
Здравствуйте, только начал знакомство с c++, попытался написать программу для упорядочивания 3 чисел в порядке убывания, но что-то не...

Упорядочивание массива - C++
Что не так?((( #include &lt;iostream&gt; using namespace std; int main() { int n,i,j,c; int a={}; ...

Упорядочивание матрицы - C++
Дана матрица вещественных величин D, состоящая из 9 строк и 7 столбцов. Требуется упорядочить матрицу по возрастанию элементов...


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

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

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