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

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

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

Указатели в массиве на сортировку - C++

23.12.2013, 00:59. Просмотров 248. Ответов 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
51
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
void choicesSort(int*, int); // ïðîòîòèï ГґГіГ*êöèè ñîðòèðîâêè
 
int main()
{
    srand(time(NULL));
    setlocale(LC_ALL, "rus");
    cout << "Ââåäèòå Г°Г*çìåð Г¬Г*Г±Г±ГЁГўГ*: ";
    int size; // äëèГ*Г*Г* Г¬Г*Г±Г±ГЁГўГ*
    cin >> size;
 
    int *mas = new int [size]; // îäГ*îìåðГ*ûé äèГ*Г*ìè÷åñêèé Г¬Г*Г±Г±ГЁГў
    for (int i = 0; i < size; i++)
    {
        mas[i] = rand() % 100; // Г§Г*ïîëГ*ГїГҐГ¬ Г¬Г*Г±Г±ГЁГў ñëó÷Г*Г©Г*ûìè Г·ГЁГ±Г«Г*ìè
        cout << setw(2) << mas[i] << "  "; // âûâîä Г¬Г*Г±Г±ГЁГўГ* Г*Г* ГЅГЄГ°Г*Г*
    }
    cout << "\n\n";
 
    choicesSort(mas, size); // âûçîâ ГґГіГ*êöèè ñîðòèðîâêè âûáîðîì
 
    for (int i = 0; i < size; i++)
    {
        cout << setw(2) << mas[i] << "  "; // ГЇГҐГ·Г*ГІГј îòñîðòèðîâГ*Г*Г*îãî Г¬Г*Г±Г±ГЁГўГ*
    }
    cout << "\n";
    delete [] mas; // âûñâîáîæäГ*ГҐГ¬ ГЇГ*ìÿòü
    system("pause");
    return 0;
}
 
void choicesSort(int* arrayPtr, int length_array) // ñîðòèðîâêГ* âûáîðîì
{
    for (int repeat_counter = 0; repeat_counter < length_array; repeat_counter++)
    {
        int temp = arrayPtr[0]; // âðåìåГ*Г*Г*Гї ïåðåìåГ*Г*Г*Гї äëÿ õðГ*Г*ГҐГ*ГЁГї Г§Г*Г*Г·ГҐГ*ГЁГї ïåðåñòГ*Г*îâêè
        for (int element_counter = repeat_counter + 1; element_counter < length_array; element_counter++)
        {
            if (arrayPtr[repeat_counter] > arrayPtr[element_counter])
            {
                temp = arrayPtr[repeat_counter];
                arrayPtr[repeat_counter] = arrayPtr[element_counter];
                arrayPtr[element_counter] = temp;
            }
        }
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 00:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели в массиве на сортировку (C++):

Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом - C++
Здравствуйте. Я не как не могу разобраться.Помогите. У меня есть листинг сортировки вставками: #include &quot;stdafx.h&quot; #include...

Указатели в массиве - C++
В книжке нет описания к данному коду и мне немного не понятно в некоторых моментах: 1). while (*p) { (не понятно какое условие понимается...

Указатели в двумерном массиве - C++
Помогите пожайлуста!!! Как занулить главную диогональ, скока не пробовал, ни как не получается.... не могу найти ошибку :wall: Вот...

Указатели на объекты в массиве - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; /////////////////////////////////////////////////////////// class person...

Указатели в двумерном массиве - C++
Например есть массив int** mas=new int*; for(int i=0; i&lt;=str;i++) mas=new int; for (int i=0; i&lt;str; i++ ) for (...

Указатели в строчном массиве - C++
Помогите, пожалуйста с лабораторной. Ну никак мне эти указатели не влазят в голову :( , может с вашей подсказкой на примере своей...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
23.12.2013, 01:40 #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//#include <stdlib.h>
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
void choicesSort(int*, int,bool (*compare)(int,int)); // прототип функции сортировки
bool from_min(const int a,const int b) //Проверка  условия
{
    return a>b;
}
 
int main()
{
    srand(time(NULL));
    setlocale(LC_ALL, "rus");
    cout << "Введите размер массива: ";
    int size; // длинна массива
    cin >> size;
 
    int *mas = new int [size]; // одномерный динамический массив
    for (int i = 0; i < size; i++)
    {
        mas[i] = rand() % 100; // заполняем массив случайными числами
        cout << setw(2) << mas[i] << "  "; // вывод массива на экран
    }
    cout << "\n\n";
 
    choicesSort(mas, size,from_min); // вызов функции сортировки выбором
 
    for (int i = 0; i < size; i++)
    {
        cout << setw(2) << mas[i] << "  "; // печать отсортированного массива
    }
    cout << "\n";
    delete [] mas; // высвобождаем память
    system("pause");
    return 0;
}
 
void choicesSort(int* arrayPtr, int length_array,bool (*compare)(int a,int b)) // сортировка выбором
{
    for (int repeat_counter = 0; repeat_counter < length_array; repeat_counter++)
    {
        int temp = arrayPtr[0]; // временная переменная для хранения значения перестановки
        for (int element_counter = repeat_counter + 1; element_counter < length_array; element_counter++)
        {
            if ((*compare)(arrayPtr[repeat_counter],arrayPtr[element_counter]))
            {
                temp = arrayPtr[repeat_counter];
                arrayPtr[repeat_counter] = arrayPtr[element_counter];
                arrayPtr[element_counter] = temp;
            }
        }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2013, 01:40
Привет! Вот еще темы с ответами:

В динамическом массиве организовать двунаправленную экстремумную сортировку - C++
в динамическом массиве организовать двунаправленную экстремумную сортировку. как объяснял преподаватель нужно &quot;свапать&quot; максимальный...

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

В одномерном массиве произвести сортировку элементов по убыванию - C++
Помогите пожалуйста сыплюсь на экзамене! Только проще, пол года си занимаюсь.

Поменять сортировку с убывания на возрастание элементов в массиве - C++
#include &lt;iostream&gt; using namespace std; int proverka(int n); void v1(double *num, int n); void sort(double *num1,double *num2, int...


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

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

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