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

Сортировка массива по части его строк - C++

Восстановить пароль Регистрация
 
egorikem
 Аватар для egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
15.10.2010, 16:15     Сортировка массива по части его строк #1
Народ объясните как сортировать массивы вот таким способом:
|12345
5|1234
54|123
543|12
5432|1
54321|
То есть поиск максимального и отправка в левую(отсортированную) часть массива.
Как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 16:15     Сортировка массива по части его строк
Посмотрите здесь:

Сортировка массива строк C++
C++ Сортировка массива си-строк
C++ Сортировка с массива. Обработка строк
C++ Сортировка массива строк
C++ Сортировка массива строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
15.10.2010, 16:36     Сортировка массива по части его строк #2
Если нужно в обратной последовательности:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
using namespace std;
 
int main()
{
    const int N = 5;
    int Array[N] = {1,2,3,4,5};
    std::copy(Array,Array+N,std::ostream_iterator<int>(cout," "));
    std::reverse(Array,Array+N);
    cout << "\nReversed: \n";
    std::copy(Array,Array+N,std::ostream_iterator<int>(cout," "));
 
system("pause");
}
egorikem
 Аватар для egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
15.10.2010, 17:07  [ТС]     Сортировка массива по части его строк #3
А без функций можно сделать?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.10.2010, 17:10     Сортировка массива по части его строк #4
Собсно ето и есть без функций.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
15.10.2010, 17:25     Сортировка массива по части его строк #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Может так?
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
 {
   srand((unsigned)time(NULL));
   setlocale(LC_ALL,"Russian");
   int n;
   int *arr,temp=0;
   cout<<"Введите n: ";
   cin>>n;
   arr = new int[n];
   for(int i=0; i<n; i++)
   {
       arr[i]=rand()%9;
       cout<<arr[i]<<"  ";
   }
   cout<<endl;
   for(int i=0; i<n; i++)
     {
         for(int j=i; j<n; j++)
         {
             if(arr[j]>=arr[i])
             {
                 temp=arr[i];
                 arr[i]=arr[j];
                                              arr[j]=temp;
             }
             
         }
         cout<<arr[i]<<"  ";
     }
   cout<<endl;
   
   delete [] arr;
 return 0;
}
egorikem
 Аватар для egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
15.10.2010, 17:32  [ТС]     Сортировка массива по части его строк #6
MILAN, Спасибо! Но можно так чтобы элементы вводил пользователь?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
15.10.2010, 17:37     Сортировка массива по части его строк #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Да конечно:

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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
 {
   
   setlocale(LC_ALL,"Russian");
   int n;
   int *arr,temp=0;
   cout<<"Введите n: ";
   cin>>n;
   arr = new int[n];
   for(int i=0; i<n; i++)
   {
       cout<<"Введите елемент arr["<<i<<"]= ";
       cin>>arr[i];
 
   }
   cout<<endl;
   cout<<"Массив: ";
   for(int i=0; i<n; i++)
   {
       cout<<arr[i]<<"  ";
   }
   cout<<endl;
   cout<<"Отсортированый массив: ";
   for(int i=0; i<n; i++)
     {
         for(int j=i; j<n; j++)
         {
             if(arr[j]>=arr[i])
             {
                 temp=arr[i];
                 arr[i]=arr[j];
                 arr[j]=temp;
             }
             
         }
         cout<<arr[i]<<"  ";
     }
   cout<<endl;
   
   delete [] arr;
 return 0;
}
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
15.10.2010, 18:01     Сортировка массива по части его строк #8
А без функций можно сделать?
Охота код громоздить???

Собсно ето и есть без функций.
Asics^ reverse, copy и др. не что иное как функции
Если практикуем С++ надобы иметь кой какое понятие о библиотечных функциях

Сортируем одним циклом:

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
#include <iostream>
using namespace std;
 
int main()
{
    const int N = 5;
     int * Arr = new int[N]; 
     int num;
     for(int i = 0;i < N ; i++)
     {
         cout << "Enter Arr[" << i << "]  "; 
         cin >> num;
         Arr[i] = num;
     }
 
    int t; 
    for(int i = 0; i < N ;){
        if(Arr[i] < Arr[i+1])
        {
            t = Arr[i]; Arr[i] = Arr[i+1]; Arr[i+1] = t;
            i = 0;
             continue; 
        }
        i++;
    }
        for(int i =0; i < N; i++)
            cout << Arr[i] << " ";
 
    system("pause");;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.10.2010, 20:46     Сортировка массива по части его строк #9
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Asics^ reverse, copy и др. не что иное как функции
Гм,я думал что ето алгоритмы из STL`я,но никак не функции.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
15.10.2010, 20:57     Сортировка массива по части его строк #10
Asics^, А алгоритмы это что?) Они с каких-то пор отличаются от функций?)

C++
1
2
3
4
5
6
7
8
template<class _InIt, class _Ty>
inline
    _InIt find(_InIt _First, _InIt _Last, const _Ty& _Val)
    {   // find first matching _Val
    _ASSIGN_FROM_BASE(_First,
        _Find(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val));
    return (_First);
    }
Разве не функция? Реализация std::find в MSVS
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 21:00     Сортировка массива по части его строк
Еще ссылки по теме:

Сортировка строк массива C++
C++ Сортировка строк массива
C++ Разделение массива и сортировка каждой части методом пузырька

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.10.2010, 21:00     Сортировка массива по части его строк #11
Lavroff, Пардон,ошыбалсо.
Yandex
Объявления
15.10.2010, 21:00     Сортировка массива по части его строк
Ответ Создать тему
Опции темы

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