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

Отсортировать все элементы массива по убыванию начиная с отрицательного - C++

Восстановить пароль Регистрация
 
DevotoX
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 5
28.11.2011, 17:31     Отсортировать все элементы массива по убыванию начиная с отрицательного #1
1.Отсортировать все элементы массива по убыванию начиная с отрицательного(элемент начала сортировки)
примерно такое получится должно:
1 2 3 -4 6 -5 8 4 -9 -12 - введенный массив
-4 -5 -9 -12 - отсортированный массив


2. И второе: написать алгоритм и разработать код, который будет находить в введенном тексте союзы и копировать их в конец текста

Добавлено через 10 минут
пожалуйста, люди добрые, помогите туповатому студенту. 4 часа уже убил на это - результата никакого
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 17:31     Отсортировать все элементы массива по убыванию начиная с отрицательного
Посмотрите здесь:

Отсортировать элементы заданного массива L по убыванию элементов и найти... C++
Отсортировать по убыванию элементы массива с нечетными номерами методом выбора C++
C++ Отсортировать элементы массива по убыванию старшей цифры в записи его элементов
C++ Отсортировать элементы массива по убыванию старшей цифры в записи его элементов
C++ Отсортировать элементы массива по убыванию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
28.11.2011, 18:01     Отсортировать все элементы массива по убыванию начиная с отрицательного #2
DevotoX,

1-я:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
 
int main() {
 
   std::vector <int> array = { 1, 2, 3, -4, 6, -5, 8, 4, -9, -12 };
   std::vector <int>::iterator p = 
      std::find_if(array.begin(), array.end(), std::bind2nd(std::less <int>(), 0));
   std::sort(p, array.end(), std::greater <int>());
   std::copy(p + std::count_if(p, array.end(), std::bind2nd(std::greater_equal <int>(), 0)), 
      array.end(), std::ostream_iterator <int>(std::cout, " "));
 
   return 0;
}
Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от DevotoX Посмотреть сообщение
4 часа уже убил на это - результата никакого
Нужно было больше времени убить, глядишь и получилось бы чего-нибудь.

DevotoX
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 5
28.11.2011, 18:48  [ТС]     Отсортировать все элементы массива по убыванию начиная с отрицательного #3
огромное спасибо)
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
28.11.2011, 18:52     Отсортировать все элементы массива по убыванию начиная с отрицательного #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот ещё вариантик
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <iomanip>
 
int main()
{
    int massiv[10] = {-1, 2, 3, -5, 6, -4, -8, 4, -12, -9};
 
    int k = 0;
 
    int temp;
 
    bool gate = false;
 
    for(int i = 0; i < 10; i++)
        if(massiv[i] < 0)
        {
            temp = massiv[k];
            massiv[k] = massiv[i];
            massiv[i] = temp;
            k++;
        }
 
    int fexit = k;
 
    int count = 0;
 
    while(count < fexit)
    {
        int i = 0;
 
        for(; i < (k-1); i++)
        {
            if(massiv[i] < massiv[i+1])
            {
                temp = massiv[i];
                massiv[i] = massiv[i+1];
                massiv[i+1] = temp;
                count = 0;
            }
            else
                count++;
        }
    }
 
    for(int i = 0; massiv[i] < 0; i++)
        std::cout << std::setw(5) << massiv[i];
 
    std::cout << std::endl;
 
    return 0;
}
DevotoX
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 5
28.11.2011, 19:27  [ТС]     Отсортировать все элементы массива по убыванию начиная с отрицательного #5
а насчет второго идеи есть?))
и это...с блок-схемой что-то запутался
Yandex
Объявления
28.11.2011, 19:27     Отсортировать все элементы массива по убыванию начиная с отрицательного
Ответ Создать тему
Опции темы

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