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

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

Войти
Регистрация
Восстановить пароль
 
egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
#1

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

15.10.2010, 16:15. Просмотров 672. Ответов 10
Метки нет (Все метки)

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

Разделение массива и сортировка каждой части методом пузырька - C++
Помогите решить пример: Имеется массив целых чисел большого размера. Требуется разделить этот массив на части (не выделяя их в отдельный...

Сортировка массива строк - C++
Задание: Заполнить заранее проинициализированный массив строк фамилиями своей группы (не по порядку). Отсортировать все фамилии после вашей...

Сортировка строк массива - C++
Задание:отсортировать по не возрастанию предпоследнюю строку массива. Массив 5*6. Вывести массив после обработки. Я представляю как это...

Сортировка массива си-строк - C++
есть код #include <iostream> #include <algorithm> using namespace std; int main(int argc, char **argv) { const int...

Сортировка массива строк - C++
Написать программу сортировки массива строк по убыванию длины. Ввод данных, сортировку и вывод результатов оформить с использованием...

Сортировка массива строк - C++
Здравствуйте!Не могу разобраться с сортировкой массива строк по алфавиту! Ввести массив из n строк и n столбцов, отсортировать по...

10
TheMachinist
244 / 176 / 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");
}
0
egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
15.10.2010, 17:07  [ТС] #3
А без функций можно сделать?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 17:10 #4
Собсно ето и есть без функций.
0
MILAN
886 / 780 / 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;
}
0
egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
15.10.2010, 17:32  [ТС] #6
MILAN, Спасибо! Но можно так чтобы элементы вводил пользователь?
0
MILAN
886 / 780 / 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;
}
0
TheMachinist
244 / 176 / 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");;
}
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 20:46 #9
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Asics^ reverse, copy и др. не что иное как функции
Гм,я думал что ето алгоритмы из STL`я,но никак не функции.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 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
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 21:00 #11
Lavroff, Пардон,ошыбалсо.
0
15.10.2010, 21:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 21:00
Привет! Вот еще темы с ответами:

Сортировка строк массива - C++
На форуме есть множество тем о сортировке массивов, но конкретно под свое решение я способа не нашел. Нужна функция, которая сортирует...

СОртировка динамического массива строк - C++
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;locale&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; void...

Сортировка строк и столбцов массива - C++
Люди добрые, кто чем может) Нужно написать не свап строк, а сортировку строк по первым элементам. ну и аналогично сортировку столбцов...

Сортировка массива строк по алфавиту c++ - C++
project raised exception class eaccessviolation with message 'access violation at address 32657E3B.Read of address 00000022. Process...


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

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

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