Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
1

Нечетные числа массива отсортировать по возрастанию, а четные по убыванию

06.06.2015, 23:26. Показов 3441. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые программисты и разработчики C++.
Вот такая задача стоит : разработать программу, в которой необходимо ввести динамический массив с клавиатуры, а затем все нечетные числа этого массива отсортировать по возрастанию, а четные по убыванию, следующим образом.
Например :
размерность 6
массив 6 5 4 3 2 1
выходные данные

1 3 5 6 4 2

Заранее большое спасибо !
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2015, 23:26
Ответы с готовыми решениями:

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
помогите найти ошибку.не верно сортирует. #include <iostream> #include <math.h>...

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
По четным по возрастанию по нечетным по убыванию. Пробую пузырьковую сортировку не получается(

В одномерном массиве отсортировать все четные числа по возрастанию, а нечетные - по убыванию на своих местах
В одномерном числовом массиве отсортировать все четные числа по возрастанию, а нечетные по убыванию...

Сортировка массива: Четные числа — по возрастанию, нечетные числа — по убыванию
Дан целочисленный массив. Надо отсортировать его. Четные числа - по возрастанию Нечетные числа -...

34
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:03 2
В этом массиве четные числа уже отсортированы по убыванию, почему они еще со своих мест переехали? И почему четные именно в конце, а не в начале, например?
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:05  [ТС] 3
Velesthau, такое задание, нужно, чтобы именно таким образом было выведено !
0
Velesthau
07.06.2015, 00:20
  #4

Не по теме:

Цитата Сообщение от tabbols Посмотреть сообщение
такое задание, нужно, чтобы именно таким образом было выведено !
Хорошо-хорошо, пиши программу.

0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:24  [ТС] 5
Velesthau, я уже попробовал порешать, у меня к сожалению ничего не получилось, поэтому и обратился на форум, думал помогут !
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:27 6
Цитата Сообщение от tabbols Посмотреть сообщение
я уже попробовал порешать
Пиши сюда код, как пробовал.
Цитата Сообщение от tabbols Посмотреть сообщение
у меня к сожалению ничего не получилось
Не может же быть, что у тебя не получилось совсем. Ты хоть обычную сортировку сделал? Для начала.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:29  [ТС] 7
Velesthau,
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
#include <iostream.h>
 
int main(){
/* сортировка массива */
 
int n,i,k,max=0,min=0,q=0;
cin >> n;
int *array = new int;
*array = n;
 
// задание массива
 
for(i=0;i<n;i++){
        cin >> k;
        array[i]=k;
        }    
         
         // вычисление кол-ва нечетных элементов
         
        for(i=0;i<n;i++){
                         if(array[i]%2!=0){
                                           q++;
                                           }
                         }
                         cout << q << endl;
                         
        
        
        for(i=0;i<n;i++){
                         if(array[i]%2!=0){
                                           min=array[i];
                                           for(int j=0;j<q;j++){
                                                   if(array[j]%2!=0 and array[j]<min){
                                                                        min=array[j];
                                                                        }
                                                   }
                                                    cout << min << " ";
                                           }
        } 
        for(i=0;i<n;i++){
                          if(array[i]%2==0){
                                           max=array[i];
                                           for(int j=0;j<n-q;j++){
                                                   if(array[j]%2==0 and array[j]>max){
                                                                        max=array[j];
                                                                        }
                                                   }
                                                    cout << max << " ";
                                           }
        }    
        cout << endl;
        
system("pause");
return 0;
}
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:32 8
Ой. Здесь тихий ужас еще вот с этого начинается:
Цитата Сообщение от tabbols Посмотреть сообщение
int *array = new int;
*array = n;
Ты не выделяешь память под массив.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:33  [ТС] 9
Velesthau, а что ознаачает тогда эта строка ?
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:36 10
Цитата Сообщение от tabbols Посмотреть сообщение
а что ознаачает тогда эта строка ?
Выделить память под один int и потом введенный размер массива записать в эту память.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:37  [ТС] 11
Velesthau, а как выделить память под весь массив ?
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:41 12
Ну давай заглянем, например, в эту тему: Сформировать массив по правилу
пример выделения памяти для массива там есть. Попробуй начать программу хотя бы с динамического массива и его ввода + вывода.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:44  [ТС] 13
Velesthau, так там, кол-во столбцов в массиве извесно, а у меня вводится с клавиатуры
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:45 14
Цитата Сообщение от tabbols Посмотреть сообщение
так там, кол-во столбцов в массиве извесно, а у меня вводится с клавиатуры
Какая разница-то? Вместо размерности там напишешь свою переменную с любым значением.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:47  [ТС] 15
Velesthau, окей, а сортировку как делать ?
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:48 16
Цитата Сообщение от tabbols Посмотреть сообщение
окей, а сортировку как делать ?
Ты еще это не сделал, подожди с сортировкой. Объяснять сортировку человеку, который не может создать массив, это как зайца за руль посадить.
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:49  [ТС] 17
Velesthau, это я понял как делать, мне нужно понять, как сделать сортировку
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 00:51 18
Цитата Сообщение от tabbols Посмотреть сообщение
мне нужно понять, как сделать сортировку
Ты понимаешь как делать обычную сортировку?
0
3 / 3 / 1
Регистрация: 05.12.2014
Сообщений: 74
Записей в блоге: 3
07.06.2015, 00:53  [ТС] 19
Velesthau, не очень

Добавлено через 53 секунды
Velesthau, мне нужно понять, хотя бы как отсортировать массив по возрастанию, например, а там дальше я постараюсь разобраться

Добавлено через 25 секунд
Velesthau, мне нужно понять, хотя бы как отсортировать массив по возрастанию, например, а там дальше я постараюсь разобраться
0
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.06.2015, 01:06 20
Цитата Сообщение от tabbols Посмотреть сообщение
мне нужно понять, хотя бы как отсортировать массив по возрастанию, например
Вот об этом я тебе и говорю. Сделай для начала обычную сортировку массива. Примеров здесь на форуме - тьма.

Добавлено через 41 секунду
Алгоритмы сортировок

Добавлено через 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <algorithm>
 
bool is_odd(int num)
{
        return (num%2 != 0);
}
 
int main()
{
        int size,* a;
        std::cin>>size;
        a = new int[size];
        for(int i =0;i<size;++i)
                std::cin>>a[i];
 
        for(int i =0;i<size;++i)
                std::cout<<a[i]<<" ";
        std::cout<<std::endl;
 
        for(int i = 1; i < size; ++i)
                for(int j = i;j > 0; --j)
                {
                        if(is_odd(a[j]))
                        {
                                if(is_odd(a[j-1]))
                                {
                                        if(a[j] < a[j-1])
                                                std::swap(a[j],a[j-1]);
                                }
                                else
                                        std::swap(a[j],a[j-1]);
                        }
                        else if(!is_odd(a[j-1]))
                        {
                                if(a[j] > a[j-1])
                                        std::swap(a[j],a[j-1]);
                        }
                }
 
        for(int i =0;i<size;++i)
                std::cout<<a[i]<<" ";
        std::cout<<std::endl;
}
1
07.06.2015, 01:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2015, 01:06
Помогаю со студенческими работами здесь

Сортировка массива вставкой, чтобы четные числа шли по возрастанию, а нечетные по убыванию
Всем привет! Есть задача отсортировать массив таким образом, чтобы четные числа шли в нем по...

Отсортировать чётные элементы по возрастанию, а нечётные по убыванию
Вот условие(могу кое где ошибаться в правильности постановки задачи) Составить одномерный массив,...

Отсортировать четные строки матрицы по возрастанию, а нечетные по убыванию
помогите пожалуйста с программой))) отсортировать четные строки матрицы M*N по возрастанию, а не...

В массиве отсортировать четные строчки по возрастанию, а нечетные по убыванию
Дан двумерный массив с рандомными значениями , как отсортировать четные строчки по возрастанию, а...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru