Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
47 / 47 / 13
Регистрация: 21.04.2009
Сообщений: 265
1

Сортировка массива.

16.06.2009, 12:25. Просмотров 975. Ответов 3
Метки нет (Все метки)

Имеется одномерный массив длиной n. Упорядочить массив методом выбора таким образом, чтобы элементы, находящиеся на четных позициях располагались по убыванию, а на нечетных позициях – по возрастанию. Я так думаю, что надо сначала отсортировать методом выбора, а затем показать четные и нечетные индексы. Как это сделать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    const int n = 10;
    int a[n] = {9, 6, 1, 16, 11, 14, 3, 19, 7, 4};
    int i, j, tmp = 0;   
  
    for(i = 0; i < n; i++)
    {
          for(j = 0; j < n - i - 1; j++)
          {
                if(a[j] > a[j + 1])
                {
                        tmp = a[j];
                        a[j] = a[j + 1];                        
                        a[j + 1] = tmp;
                }
          }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2009, 12:25
Ответы с готовыми решениями:

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным...

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа...

Сортировка массива структур через сортировку массива указателей
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку -...

Сортировка массива. Ошибка после ввода размерности массива
подскажите почему после ввода размерности массива выдает ошибку #include&lt;iostream&gt;...

3
Evg
Эксперт CАвтор FAQ
21115 / 8131 / 628
Регистрация: 30.03.2009
Сообщений: 22,447
Записей в блоге: 30
16.06.2009, 12:33 2
У тебя сейчас идёт полная сортировка по всему массиву. А ты сделай две отдельные сортировки - одна только по чётным позициям, другая только по нечётным. Вот так делается сортировка только по чётным позициям:

C
1
2
3
4
5
    for(i = 0; i < n; i+=2)
    {
          for(j = 0; j < n - i - 1; j+=2)
          {
                if(a[j] > a[j + 2])
Для нечётных позиций начальные значение i и j должны равняться единице (а всё остальное не меняется)

Добавлено через 1 минуту 44 секунды
Правда "if(a[j] > a[j + 1])" - неправильно. Нужно сравнивать элементы a[i] и a[j]. Да и оба цикла написаны, вроде бы как неправильно. Ты сначала научись делать просто сортировку всего массива, а потом переделай её в две сортировки по чётным и нечётным элементам
0
47 / 47 / 13
Регистрация: 21.04.2009
Сообщений: 265
16.06.2009, 12:46  [ТС] 3
Evg, Учусь! Кстати, алгоритм работает правильно. Я думал так, что сортируются весь массив, а уж потом индексы показывать.
0
Evg
Эксперт CАвтор FAQ
21115 / 8131 / 628
Регистрация: 30.03.2009
Сообщений: 22,447
Записей в блоге: 30
16.06.2009, 12:49 4
Цитата Сообщение от grrrrr Посмотреть сообщение
Кстати, алгоритм работает правильно
Ога, понял, что это пузырёк. Что-то с начала показалось подозрительным. Ну значит делай так, как я писал. Сам понимаешь, что при такой постановке задачи вариантов ответа (не говоря уж о вариантах решения) - море
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2009, 12:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сортировка массива, вместо массива выводит мусор
Здравствуйте Уважаемые жители форума! Есть рабочий код сортируем массив выбором поиск...

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

сортировка массива
здравствуйте, посоветуйте пожалуйста, каким образом можно сортировать двумерный массив, если...

Сортировка массива
Сортировка массива по модулю числа. Задание 1. Сортировка массива по модулю числа. Если модули...


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

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

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