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

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

Восстановить пароль Регистрация
 
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
15.03.2013, 14:40     Отсортировать элементы массива #1
Здравствуйте, дорогие форумчане.
Перейду сразу к делу. Нужно написать программу к следующему заданию:
Задан массив, содержащий N элементов. Требуется переприсвоить его элементы так, чтобы отрицательные элементы оказались в начале массива, нулевые следующими, а в конце положительные. Так: (0,2,-1,1,-3,-2,3) => (-1, -3, -2, 0, 2, 1, 3)
Помогите написать, пожалуйста. Заранее благодарен. С меня много плюсов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 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
5282 / 4801 / 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
Эксперт C++
 Аватар для MikeSoft
3781 / 1765 / 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++ Отсортировать элементы массива по возрастанию
C++ Отсортировать в порядке возрастания все положительные элементы массива
Отсортировать элементы массива любой сортировкой C++

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

Или воспользуйтесь поиском по форуму:
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3781 / 1765 / 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     Отсортировать элементы массива
Ответ Создать тему
Опции темы

Текущее время: 08:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru