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

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

Войти
Регистрация
Восстановить пароль
 
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
#1

Отсортировать элементы массива - C++

15.03.2013, 14:40. Просмотров 433. Ответов 7
Метки нет (Все метки)

Здравствуйте, дорогие форумчане.
Перейду сразу к делу. Нужно написать программу к следующему заданию:
Задан массив, содержащий N элементов. Требуется переприсвоить его элементы так, чтобы отрицательные элементы оказались в начале массива, нулевые следующими, а в конце положительные. Так: (0,2,-1,1,-3,-2,3) => (-1, -3, -2, 0, 2, 1, 3)
Помогите написать, пожалуйста. Заранее благодарен. С меня много плюсов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 14:40     Отсортировать элементы массива
Посмотрите здесь:

Отсортировать элементы массива - C++
Отсортировать элементы массива таким образом, чтобы сначала были размещены все положительные элементы, а затем все отрицательные (0 считаем...

Отсортировать элементы массива по убыванию - C++
В одномерном массиве, состоящем из N вещественных элементов, вычислить: Сортировать элементы массива по убыванию.

Отсортировать по возрастанию элементы массива - C++
1)Дан массив целых чисел из 10 элементов отсортировать по возрастанию. 2)Дан действительный массив A.Напечатать индекс его отрицательных...

Отсортировать элементы массива по возрастанию - C++
Задан массив из k чисел. Отсортировать элементы массива по возрастанию.

Отсортировать элементы массива по возрастанию - C++
Здравствуйте,нужна программа на массиве одномерном. Задание: Задан массив из k чисел. Отсортировать элементы массива по возрастанию

Отсортировать по возрастанию элементы массива - C++
В массиве А каждый элемент изменяется в пределах от 0 .. 20. Отсортировать по возрастанию. C++

Отсортировать элементы массива в алфавитном порядке - C++
отсортировать элементы массива А в алфавитном порядке. Помогите. Плис

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 14:54     Отсортировать элементы массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
 
int main()
{
    int N[] = {0, 2, -1, 1, -3, -2, 3};
   
    for (int i = 0; i < 7; ++i)
        cout << N[i] << ' ';
    cout << endl;
    
    sort(N, N + 7);
    
    for (int i = 0; i < 7; ++i)
        cout << N[i] << ' ';
    cout << endl;   
    
    system("pause");
    return 0;
}
Миниатюры
Отсортировать элементы массива  
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
15.03.2013, 15:21  [ТС]     Отсортировать элементы массива #3
Спасибо)

Добавлено через 18 минут
А еще можно как-нибудь по-другому написать?) Интересно просто...
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 15:56     Отсортировать элементы массива #4
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
А еще можно как-нибудь по-другому написать?) Интересно просто...
Конечно. Тут готовый алгоритм используется из STL. Можно что-то подобное самому реализовать.
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
15.03.2013, 18:14  [ТС]     Отсортировать элементы массива #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Конечно. Тут готовый алгоритм используется из STL. Можно что-то подобное самому реализовать.
Надо подумкать... Просто хочется короче сделать)

Добавлено через 1 час 52 минуты
А еще вопрос... Как сделать, чтобы он выводил не
0 2 -1 1 -3 -2 3
-3 -2 -1 0 1 2 3

А вот так:
Исходный массив: 0 2 -1 1 -3 -2 3
Отсортированный массив: -3 -2 -1 0 1 2 3


Добавлено через 24 секунды
Подскажите, пожалуйста.

Добавлено через 20 секунд
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
 
int main()
{
    int N[] = {0, 2, -1, 1, -3, -2, 3};
   
    for (int i = 0; i < 7; ++i)
        cout << N[i] << ' ';
    cout << endl;
    
    sort(N, N + 7);
    
    for (int i = 0; i < 7; ++i)
        cout << N[i] << ' ';
    cout << endl;   
    
    system("pause");
    return 0;
}
MikeSoft
Эксперт С++
3792 / 1774 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.03.2013, 18:28     Отсортировать элементы массива #6
Всё пропало! ВСЁ ПРОПАЛО!!!

sanyachel9binsk, у меня два вопроса:
1. Зачем повторно вставлять код, который вам дали выше, если он идентичен?
2. У вас рук совсем нет? Перед выводом добавить cout << "Text "; вам вера не позволяет? Или вы вообще ни одного базового приема не знаете?

И так, чисто интересно: зачем вам программа, если вы всё равно не ответите как она работает?
Преподаватель небось просит реализовать сортировку руками, а вы ему покажете чужую заготовку из STL. Предвкушаю этот момент...

Ройте и дальше себе яму... А я даже помогу... О тексте я вам уже рассказал... можете ещё оформить функцию печати массива, вы же хотите "короче сделать"... пожалуйста:
C++
1
2
3
4
5
void printArray(int* mArray, int mSize)
{
  for(int i = 0; i < mSize; cout << mArray[i++] << ' ');
  cout << endl;  
}
И вызывайте её из нужных участков...

Чем больше таких как вы, тем ценнее я, как специалист.
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
15.03.2013, 19:02  [ТС]     Отсортировать элементы массива #7
Цитата Сообщение от MikeSoft Посмотреть сообщение
Всё пропало! ВСЁ ПРОПАЛО!!!

sanyachel9binsk, у меня два вопроса:
1. Зачем повторно вставлять код, который вам дали выше, если он идентичен?
2. У вас рук совсем нет? Перед выводом добавить cout << "Text "; вам вера не позволяет? Или вы вообще ни одного базового приема не знаете?
А что так взъелся на меня? Я вставил этот же код для удобства. А насчет по короче я просто спросил. Тем более я только еще начинаю изучать С++. Я отвечу, как работает программа. Разобрался уже. Если попросит реализовать - реализую. Тем более я же интересуюсь, как лучше будет. А насчет тебя... Сам себя не похвалишь.

Добавлено через 22 минуты
Всем спасибо за помощь. Сам справился.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 19:05     Отсортировать элементы массива
Еще ссылки по теме:

Отсортировать элементы массива любой сортировкой - C++
Отсортировать элементы массива любой сортировкой 6 1 9 13 5 44 35 8.

Отсортировать элементы массива с нечетными номерами - C++
В первой строке записано число n - размер массива. (N &lt;= 100000) В следующей строке записаны n чисел - элементы массива. Следует...

Отсортировать нечетные элементы массива по убыванию - C++
1. Отсортируйте в массиве нечетные элементы по убыванию.

Отсортировать элементы массива по возрастанию методом обмена - C++
Отсортировать элементы массива по возрастанию методом обмена. есть код, int *mas; int n; void mas_in() { int i;...

Отсортировать по возрастанию только положительные элементы массива - C++
Отсортировать по возрастанию только положительные элементы массива. Как объяснил преподаватель так чтобы положительные отсортировались а...


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

Или воспользуйтесь поиском по форуму:
MikeSoft
Эксперт С++
3792 / 1774 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.03.2013, 19:05     Отсортировать элементы массива #8
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
Если попросит реализовать - реализую.
Неужели? Может реализуете? Самостоятельно? На бис!
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
А насчет тебя... Сам себя не похвалишь.
Да! Я горжусь тем, что не спрашиваю у людей "как вывести на экран два слова"!
Так что же? Покажете мастер-класс сортировки?
Дан массив:
8, 2, 3, -1, -3, 0, 9
Отсортируйте его так, чтобы в самом начале были четные элементы, а затем нечетные!
Сделайте это собственными ручками, не поленитесь! Вот тогда и поймете, что от вас требует преподаватель!
Yandex
Объявления
15.03.2013, 19:05     Отсортировать элементы массива
Ответ Создать тему
Опции темы

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