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

В заданном массиве из n элементов отсортировать по возрастанию его часть - C++

Восстановить пароль Регистрация
 
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
03.03.2012, 18:45     В заданном массиве из n элементов отсортировать по возрастанию его часть #1
Помогите,пожалуйста,решить!
В заданном массиве из n элементов отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. Массив формируется из случайных чисел в диапазоне от –100 до 100, номера вводятся как два целых числа, не большие чем n.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2012, 18:45     В заданном массиве из n элементов отсортировать по возрастанию его часть
Посмотрите здесь:

C++ во в введённом массиве отсортировать по возрастанию все элементы на нечётных позициях массива.
C++ В заданном массиве из n элементов отсортировать по возрастанию его часть
C++ В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами.
прочитать массив из файла и отсортировать его по возрастанию C++
C++ Переписать все элементы з матрицы С в одномерный массив F, отсортировать его по возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.03.2012, 18:46     В заданном массиве из n элементов отсортировать по возрастанию его часть #2
Алгоритмы сортировок
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
03.03.2012, 19:00  [ТС]     В заданном массиве из n элементов отсортировать по возрастанию его часть #3
отсортировать по возрастанию в диапазоне массив я понимаю как,но не могу сделать так,чтобы сортировал между 2 введенными числами
turtLe
3 / 3 / 2
Регистрация: 11.11.2009
Сообщений: 41
03.03.2012, 19:24     В заданном массиве из n элементов отсортировать по возрастанию его часть #4
Покажи как ты сортируешь в диапазоне.
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
03.03.2012, 19:49  [ТС]     В заданном массиве из n элементов отсортировать по возрастанию его часть #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
#include <iostream.h>
#include <stdlib.h>
int n,m;
int main()
{
cout<<"
const int n=7;
int a[n];
int i;
for (i=0;i<n;i++)
cin>>a[i];
a[i]=rand()%201-100;
for (i=0;i<n-1;i++){
int imin=i;
for (int j=(i+1);j<n;j++)
if (a[j]<a[imin])
imin=j;
int b=a[i];
a[i]=a[imin];
a[imin]=b;
}
for (i=0;i<n;i++)
cout<<a[i]<<' ';
cin.get();
cin.get();
}
 Комментарий модератора 
Копируй код на форум!
Вложения
Тип файла: rar 22.rar (284 байт, 7 просмотров)
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
03.03.2012, 20:33     В заданном массиве из n элементов отсортировать по возрастанию его часть #6
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(0));
    std::vector <int> vec;
    int size, first, last;
    std::cin>>size>>first>>last;
    vec.resize(size);
    std::generate(vec.begin(), vec.end(), [] () -> int { return rand()%200 - 100; });
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout<<std::endl;
    if(first > last)
        std::swap(first, last);
    std::sort(vec.begin() + first, vec.begin() + last);
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout<<std::endl;
    system("pause");
    return 0;
}
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 18:25  [ТС]     В заданном массиве из n элементов отсортировать по возрастанию его часть #7
Извините,не можете ли показать на моем,как можно отсортировать массив между 2 введенными номерами
thebvog
 Аватар для thebvog
73 / 53 / 3
Регистрация: 20.02.2012
Сообщений: 239
05.03.2012, 18:49     В заданном массиве из n элементов отсортировать по возрастанию его часть #8
enota,
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
#include <iostream.h>
#include <stdlib.h>
 
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
 
int main()
{
    const int n=7;
    int a[n];
    int i, x, y;
    for (i=0;i<n;i++)
        cin>>a[i];
    cin>>x>>y;
    
    qsort (&a+x*sizeof(int), y-x+1, sizeof(int), compare);
    
    for (i=0;i<n;i++)
        cout<<a[i]<<' ';
    
    cin.get();
    cin.get();
}
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 21:48  [ТС]     В заданном массиве из n элементов отсортировать по возрастанию его часть #9
все равно не в диапазоне получается,а выводит весь массив сортированный
denys_l
51 / 51 / 4
Регистрация: 26.09.2011
Сообщений: 186
05.03.2012, 22:24     В заданном массиве из n элементов отсортировать по возрастанию его часть #10
Цитата Сообщение от enota Посмотреть сообщение
все равно не в диапазоне получается,а выводит весь массив сортированный
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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <time.h>
 
const int n=7;
using namespace std;
 
int main()
{
    srand((unsigned)time(NULL));
    int a[n],
        low, high, tmp;
 
    //заполняем массив
    for (int i=0;i<n;i++) a[i]=rand()%201-100;
    //выводим массив
    for (int i=0;i<n;i++) cout << setw(4) << a[i];
    //вводим диапазон сортировки
    cout << endl;
    cout << "\nVvedite dva chisla 4erez probel i pess <Enter>: ";
    cin >> low >> high;
    for (int i=low;i<high-1;i++)
            for(int j=i+1; j<high; j++) if (a[i]>a[j])
                                    {
                                        tmp=a[i];
                                        a[i]=a[j];
                                        a[j]=tmp;
                                    }
    
 
    //выводим результат
    for (int i=0;i<n;i++) cout << setw(4) << a[i];
}
Ну вот вроде в диапазоне
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 22:40     В заданном массиве из n элементов отсортировать по возрастанию его часть
Еще ссылки по теме:

C++ С++ Отсортировать целочисленный массив по возрастанию суммы двух последних цифр в записи его элементов
C++ Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию
Отсортировать строки в двумерном массиве по возрастанию минимального элемента C++

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

Или воспользуйтесь поиском по форуму:
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 22:40  [ТС]     В заданном массиве из n элементов отсортировать по возрастанию его часть #11
спасибо огромное,очень помогли!
Yandex
Объявления
05.03.2012, 22:40     В заданном массиве из n элементов отсортировать по возрастанию его часть
Ответ Создать тему
Опции темы

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