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

Заполнить массив случайными числами и отсортировать его методом быстрой сортировки по убыванию

22.06.2017, 09:55. Просмотров 405. Ответов 7
Метки нет (Все метки)

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2017, 09:55
Ответы с готовыми решениями:

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

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

Заполнить случайныйми числами одномерный динамический массив; отсортировать его методом пузырьковой сортировки
В плюсах полный ноль...помогите пожалуйста создать одномерный массив через new...

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

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

7
mn_foof
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 5
22.06.2017, 10:11  [ТС] #2
Не сортирует одно из числ.Коротко просто не выводит в исход 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
 
void QuickSort(int A[], int L, int R, int k, int g)
{
 
    int iter = L,
        jter = R;
 
    int middle = (R + L) / 2;
 
 
    int x = A[middle];
    int w;
 
    do
    {
        while (A[iter]>x)
        {
            iter++;
            
        }
 
        while (x>A[jter])
        {
            jter--;
            
        }k++;
 
        if (iter <= jter)
        {
            w = A[iter];
            A[iter] = A[jter];
            A[jter] = w;
 
            iter++;
            jter--;
            g++;
 
        }
    } while (iter<jter);
 
    if (L<jter)
    {
        QuickSort(A, L, jter, k, g); 
    }
 
    if (iter<R)
    {
        QuickSort(A, iter, R, k, g);
    }
 
    printf("\nКiлькiсть операцiй порiвняння - %d", k);
    printf("\nКiлькiсть перестановок - %d ", g);
 
}
 
int main(void)
{
 
    int A[11], i, k = 0, g = 0;
 
    setlocale(LC_ALL, "ukr");
 
    srand(time(NULL));
 
    for (i = 0; i < 11; ++i)
    {
        A[i] = rand() % 100 + 1;
    }
    for (i = 0; i < 11; ++i)
    {
        printf("%d ", A[i]);
    }
 
    QuickSort(A, 0, 11, k, g); 
 
    for (i = 0; i < 11; ++i)
        if (i += 1) 
            printf(" \n %d ", A[i]);
    
 
 
    getchar();
    return 0;
}
0
nmcf
6259 / 5571 / 2531
Регистрация: 14.04.2014
Сообщений: 23,461
22.06.2017, 10:16 #3
R - последний индекс. Откуда там 11? Для чего условие в 81-й строке?
0
mn_foof
0 / 0 / 0
Регистрация: 21.06.2017
Сообщений: 5
22.06.2017, 10:48  [ТС] #4
в 81 строке проверка на непарный номер элемента
0
nmcf
6259 / 5571 / 2531
Регистрация: 14.04.2014
Сообщений: 23,461
22.06.2017, 11:13 #5
Результат всегда true.
0
DobroAlex
Модератор
376 / 321 / 161
Регистрация: 30.04.2016
Сообщений: 1,659
Завершенные тесты: 3
22.06.2017, 11:39 #6
Создание и заполнение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdlib>
#include <iostream>
#include <ctime>
int main (){
   int len ;
   int* arr;
   cin >> len   ;
   arr=new int [len];
   srand(time());
   for (int i = 0; i <len;i++){
       arr[i] = rand()%1000;
       srand(time());
       }
   return 0;
}
Quicksort тут :
Алгоритм Быстрой сортировки (Quick Sort)
0
Antikl
с++
284 / 280 / 150
Регистрация: 15.07.2015
Сообщений: 1,516
Завершенные тесты: 6
22.06.2017, 12:04 #7
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
template<class T>
void quickSortR(T* a, long N) {
// На входе - массив a[], a[N] - его последний элемент.
 
    long i = 0, j = N;      // поставить указатели на исходные места
    T temp, p;
 
    p = a[ N>>1 ];      // центральный элемент
 
    // процедура разделения
    do {
        while ( a[i] < p ) i++;
        while ( a[j] > p ) j--;
 
        if (i <= j) {
            temp = a[i]; a[i] = a[j]; a[j] = temp;
            i++; j--;
        }
    } while ( i<=j );
 
    // рекурсивные вызовы, если есть, что сортировать 
    if ( j > 0 ) quickSortR(a, j);
    if ( N > i ) quickSortR(a+i, N-i);
}
0
MrGluck
22.06.2017, 14:23     Заполнить массив случайными числами и отсортировать его методом быстрой сортировки по убыванию
  #8
 Комментарий модератора 
mn_foof, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).
0
22.06.2017, 14:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2017, 14:23
Привет! Вот еще темы с ответами:

Отсортировать массив со случайными числами по убыванию
отсортировать массив со случайными числами по убыванию и указать на последний...

Динамический массив отсортировать по возростанию методом быстрой сортировки
Отсортировать дин. масив по возростанию методом быстрой сортировки.

Заполнить массив случайными числами по возрастанию и убыванию
Случайными числами 0..700 по возрастанию и убыванию


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

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

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