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

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

Войти
Регистрация
Восстановить пароль
 
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

Сортировка массива. - C++

16.06.2009, 12:25. Просмотров 818. Ответов 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;
                }
          }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2009, 12:25     Сортировка массива.
Посмотрите здесь:

Сортировка массива - C++
У меня есть массив из числе ; Как мне рандомно сортировать числа в массиве ?? Т.е. что бы из к примеру получилось и т.п. Заранее...

Сортировка массива - C++
Задан массив из k чисел. Найти числа, входящие в массив только один раз. Программа в Visual C++ 6. #include &quot;stdafx.h&quot; #include...

Сортировка массива - C++
Привет. При сортировки массива ( нулевые элементы необходимо переместить в конец массива), в место первого ноля выдает число 65537....

Сортировка массива - C++
Составила программу, реализующую алгоритм сортировки массива простым способом. Алгоритм представлен в виде функции. Функция должна...

Сортировка массива - C++
В общем програ работает без выделении памяти нормально, но как только я добавил туда указатель на массив, после компиляции и запуска ее она...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,937
Записей в блоге: 26
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]. Да и оба цикла написаны, вроде бы как неправильно. Ты сначала научись делать просто сортировку всего массива, а потом переделай её в две сортировки по чётным и нечётным элементам
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
16.06.2009, 12:46  [ТС]     Сортировка массива. #3
Evg, Учусь! Кстати, алгоритм работает правильно. Я думал так, что сортируются весь массив, а уж потом индексы показывать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2009, 12:49     Сортировка массива.
Еще ссылки по теме:

Сортировка массива - C++
Отсортировать данный массив и вывести его в новом массиве что не так и почему дебаг происходит??? #include &lt;clx.h&gt; #pragma hdrstop ...

Сортировка массива - C++
Нам задан числовой массив А. Нужно построить одномерный массив, в котором числа идут по определенному закону: &gt;-10 и &lt;10; &gt;10; &lt;-10; все...

Сортировка массива - C++
Как можно сортировать массив по элементам определенной строки/столбца? Вот такой код слизал с Киберфорума: for(int i=0; i&lt;m; i++) ...

Сортировка массива - C++
Дан массив, элементы которого равны либо 1 либо 2. Отсортировать таким образом, чтобы за каждой единицей следовала двойка, причём если...

Сортировка массива - C++
У меня есть цель наклепать сортировку с помощью (1)прямого выбора и и сортировку (2)Шелла. Делаю все пошагово, сначала алгоритм действий...

Сортировка массива - C++
Помогите решить задачу под номером 11, под буквой а) Нужно отсортировать массив,(вводим сами, размер определяем сами), в соответствии с...


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,937
Записей в блоге: 26
16.06.2009, 12:49     Сортировка массива. #4
Цитата Сообщение от grrrrr Посмотреть сообщение
Кстати, алгоритм работает правильно
Ога, понял, что это пузырёк. Что-то с начала показалось подозрительным. Ну значит делай так, как я писал. Сам понимаешь, что при такой постановке задачи вариантов ответа (не говоря уж о вариантах решения) - море
Yandex
Объявления
16.06.2009, 12:49     Сортировка массива.
Ответ Создать тему
Опции темы

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