Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
1

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

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

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

В заданном массиве из n элементов отсортировать по возрастанию его часть
Здравствуйте! В заданном массиве из n элементов отсортировать по возрастанию...

В заданном массиве отсортировать по возрастанию его часть, находящуюся между двумя введенными номерами.
#include <iostream.h> #include <stdlib.h> #include <iomanip.h> int i; void...

В заданном символьном массиве отсортировать слова по количеству букв (по возрастанию)
Здравствуйте, ребята! Мне нужно отсортировать слова по количеству букв(по...

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

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

10
Jupiter
Каратель
Эксперт С++
6570 / 3991 / 400
Регистрация: 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 / 4
Регистрация: 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
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 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 / 12
Регистрация: 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 / 10
Регистрация: 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

Отсортировать строки в двумерном массиве по возрастанию минимального элемента
Отсортировать строки в двумерном массиве по возрастанию минимального элемента....

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

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


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

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

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