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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2013, 16:54   #1
yurets17
Пользователь
 
Регистрация: 07.10.2013
Сообщений: 15
По умолчанию Функция, сортирующая сначала нечетные числа в массиве по возрастанию, а потом четные по убыванию.

Ребят, подскажите как написать функцию, которая будет сортировать сначала нечетные числа в массиве по возрастанию, а потом четные по убыванию? язык с++
есть такой пример, но работает почему-то неверно!
Код:
bool goodDisposition(int x1, int x2){
    if (x1 % 2 != x2 % 2)
          return x1 % 2 < x2 % 2;
    else if( x1 % 2 == 0)
                 return x1>x2;
        else
               return x1 <  x2;
}
 
void sortChoise(double MyArray[], int size){
    for(int i=0; i<size-1;i++){
        for(int j = i + 1; j<size; j++) {
            if (!goodDisposition(MyArray[i] ,MyArray[j])){
                int x =  MyArray[i];
                MyArray[i] =  MyArray[j];
                MyArray[j] =  x;
            }
        }
    }
}
yurets17 вне форума Ответить с цитированием
Старый 12.11.2013, 19:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Четные:
Код:
    for(int i=0; i<size-1;i++){
        for(int j = i + 1; j<size; j++) {
            if (MyArray[i]%2 && MyArray[j]%2){
                int x =  MyArray[i];
                MyArray[i] =  MyArray[j];
                MyArray[j] =  x;
            }
        }
    }
А для нечета условие обратное.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
assembler. Задан массив А из N чисел. Преобразовать этот массив так, чтобы сначала шли четные числа, а потом – нечетные Transcend Помощь студентам 5 18.03.2013 11:42
Вывести сначала все его четные (нечетные) елементы, а потом- нечетные(четные). tondo Помощь студентам 4 25.04.2012 00:17
В двумерном массиве, в каждоый строке сначала разместить положительные эелементы, потом отрицательные эел Катя) Паскаль, Turbo Pascal, PascalABC.NET 7 15.04.2011 22:32
В массиве а (10) первую половину массива отсортировать по убыванию, вторую по возрастанию leon1405 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 19.12.2010 18:36