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

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

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

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

03.03.2012, 18:45. Просмотров 822. Ответов 10
Метки нет (Все метки)

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

В заданном массиве из n элементов отсортировать по возрастанию его часть - C++
Здравствуйте! В заданном массиве из n элементов отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами....

В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами. - C++
#include <iostream.h> #include <stdlib.h> #include <iomanip.h> int i; void main() { srand(time(NULL)); const n=7; int...

В заданном символьном массиве отсортировать слова по количеству букв (по возрастанию) - C++
Здравствуйте, ребята! Мне нужно отсортировать слова по количеству букв(по возрастанию). Правда в Visual Studio ругается. Но в Dev C++...

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

прочитать массив из файла и отсортировать его по возрастанию - C++
Доброго времени суток! у меня такая задача... прочитать массив из файла и отсортировать его по возрастанию. Все значения целые и по модулю...

Отсортировать строки в двумерном массиве по возрастанию минимального элемента - C++
Отсортировать строки в двумерном массиве по возрастанию минимального элемента. Как-то не особо получилось. Помогите понять в чем ошибка. ...

10
Jupiter
Каратель
Эксперт С++
6566 / 3987 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.03.2012, 18:46 #2
Алгоритмы сортировок
0
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
03.03.2012, 19:00  [ТС] #3
отсортировать по возрастанию в диапазоне массив я понимаю как,но не могу сделать так,чтобы сортировал между 2 введенными числами
0
turtLe
3 / 3 / 2
Регистрация: 11.11.2009
Сообщений: 41
03.03.2012, 19:24 #4
Покажи как ты сортируешь в диапазоне.
0
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
03.03.2012, 19:49  [ТС] #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();
}
 Комментарий модератора 
Копируй код на форум!
0
Вложения
Тип файла: rar 22.rar (284 байт, 7 просмотров)
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
03.03.2012, 20:33 #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;
}
1
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 18:25  [ТС] #7
Извините,не можете ли показать на моем,как можно отсортировать массив между 2 введенными номерами
0
thebvog
73 / 53 / 3
Регистрация: 20.02.2012
Сообщений: 239
05.03.2012, 18:49 #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();
}
1
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 21:48  [ТС] #9
все равно не в диапазоне получается,а выводит весь массив сортированный
0
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
05.03.2012, 22:24 #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];
}
Ну вот вроде в диапазоне
0
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
05.03.2012, 22:40  [ТС] #11
спасибо огромное,очень помогли!
0
05.03.2012, 22:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 22:40
Привет! Вот еще темы с ответами:

Во в введённом массиве отсортировать по возрастанию все элементы на нечётных позициях - C++
Помогите решить задачу на вижал с++: во в введённом массиве(размер задаёться пользователем) отсортировать по возрастанию все элементы на...

Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию - C++
Есть такое задание: Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию и вывести в выходной поток...

Получить массив нечетных чисел и отсортировать его по возрастанию методом выбора - C++
массив из N целых чисел. Получить из него массив нечетных чисел и отсортировать его по возрастанию методом выбора. Найти повторяющиеся...

Cгенерировать одномерный массив из 10 чисел,отсортировать его по возрастанию или убыванию - C++
Суть собственно в чем, я полный чайник и задача мне нужна написанная самым простым языком, помогите кто-нибудь если сможете, а то я совсем...


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

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

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