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

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

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

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

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

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

Отсортировать элементы массива: отрицательные – в начало массива, положительные – в конец - C++
написать две проги...Желательно в Microsoft Visual Studio. Исходный массив инициализировать случайным образом, предусмотрев возможность...

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

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

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

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

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

7
alsav22
5425 / 4820 / 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;
}
1
Миниатюры
Отсортировать элементы массива  
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
15.03.2013, 15:21  [ТС] #3
Спасибо)

Добавлено через 18 минут
А еще можно как-нибудь по-другому написать?) Интересно просто...
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2013, 15:56 #4
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
А еще можно как-нибудь по-другому написать?) Интересно просто...
Конечно. Тут готовый алгоритм используется из STL. Можно что-то подобное самому реализовать.
0
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;
}
0
MikeSoft
Эксперт С++
3801 / 1777 / 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;  
}
И вызывайте её из нужных участков...

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

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

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

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

Заменить все отрицательные элементы массива их квадратами и отсортировать все элементы по возрастанию - C++
Помогите пожалуйста заменить все отрицательные элементы массива их квадратами и отсортировать все элемнты по возрастанию. Программу я...

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

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


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

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

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