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

Найти минимальный элемент массива и упорядочить все элементы левее его по убыванию, а правее – по возрастанию

24.09.2016, 21:48. Просмотров 411. Ответов 1

Реализовать функцию для обработки массива целых чисел.
Функция находит минимальный элемент массива и сортирует все элементы левее его по убыванию, а правее его – по возрастанию. Функция возвращает индекс минимального элемента.
Помогите найти ошибку
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
48
49
50
#include<iostream>
 
using namespace std;
int SelectSort(int mas[], int size );
int main(){
    int size;
    cin>>size;
    int *mas = new int[size];
    for (int i=0; i<size; i++)
        cin>>mas[i];
 
    cout << "Index = " << SelectSort(mas, size) << endl;
 
    for (int i = 0; i < size; i++)
    cout << mas[i] << "\t";
 
    return 0;
}
int SelectSort(int* mas, int size){
    ///////////////ПОИСК МИНИМАЛЬНОГО ЭЛЕМЕНТА МАССИВА
    int min = mas[0];
    int index;
    for(int i = 0; i < size; i++){
        if(mas[i] < min){
            min = mas[i];
            index = i;
    }
    ///////////////СОРТИРОВКА С НАЧАЛА ДО ЭЛЕМЕНТА ПО УБЫВАНИЮ
    for(int i=0;i<index;i++){
        for(int k=index-1;k>i;k--){
            if(mas[k]>mas[k-1]){
                int tmp=mas[k-1];
                mas[k-1]=mas[k];
                mas[k]=tmp;
            }
        }
    }
    ///////////////СОРТИРОВКА С ЭЛЕМЕНТА ДО КОНЦА ПО ВОЗРАСТАНИЮ
    for(int i=index+1;i<size-1;i++){
        for(int k=size-1;k>index;k--){
            if(mas[k]<mas[k-1]){
                int tmp=mas[k-1];
                mas[k-1]=mas[k];
                mas[k]=tmp;
            }
        }
    }
    //////////////////////////
        return index;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2016, 21:48
Ответы с готовыми решениями:

В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы
В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы,...

В массиве Х (N) найти максимальный элемент массива и упорядочить по возрастанию все элементы
написать программу на языке С++. Задание: В массиве Х (N) найти максимальный элемент массива и...

Найти минимальный и максимальный элементы массива и упорядочить элементы по убыванию, стоящие между ними, методом «пузырька».
Привет ВСЕМ!!! Обратите вниминие на эту задачку, ПЛЗ!!! =) Можно и без метода &quot; пузырька&quot;!!! Дан...

Найти минимальный элемент массива, упорядочить элементы
Дан массив А(40). Найти минимальный элемент массива, упорядочить элементы, расположенные до этого...

Найти минимальный элемент матрицы и обнулить элементы ниже и правее него
Написал программу по поиску минимального элемента, а как сделать обнуление ниже и правее элементов,...

1
Peoples
1352 / 841 / 749
Регистрация: 06.02.2016
Сообщений: 2,243
Записей в блоге: 17
Завершенные тесты: 4
24.09.2016, 22:09 2
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
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
using namespace std;
int SelectSort(int*a, int size) {
    int min =a[0];
    int index;
    for(int i = 0; i!=size; i++)
        if(a[i] < min) {
            min = a[i];
            index = i;
        }
    return index;
}
int main() {
    srand(time(nullptr));
    const int n=10;
    int *a=new int[n];
    for(int i=0; i!=n; i++) {
        a[i]=rand()%20;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    int j=SelectSort(a,n);
    sort(a,a+j,[](int x,int y) {
        return x>y;
    });
    sort(a+j,a+n,[](int x,int y) {
        return x<y;
    });
    for(int i=0; i!=n; i++) {
        cout<<a[i]<<" ";
    }
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2016, 22:09

Заменить все элементы массива, меньшие 5, на его минимальный элемент
Дан одномерный массив вещественных чисел. Написать программу, которая заменяет все элементы...

Дан массив. Уменьшить все его элементы на минимальный элемент массива
Дан массив А(n). Уменьшить все его элементы на минимальный элемент массива. Помогите сделать...

Упорядочить массив по убыванию элементов, найти минимальный элемент
1) Найдите площадь ромба по его диагоналям. 2)Упорядочить массив В(10) по убыванию элементов,...


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

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

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