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

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

Войти
Регистрация
Восстановить пароль
 
gerodotes
-1 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 28
#1

Квадратичный алгоритм сортировки подсчётом - C++

08.03.2015, 18:25. Просмотров 418. Ответов 7
Метки нет (Все метки)

Здравствуйте!я сижу туплю.....немного понимаю в циклах for в массиве...помогите пожалуйста..как реализовать эту пытался начать:Что мне дальше делать?и мог бы кто нить объясни поподробнее(только не кидайте ссылки на левые темы)
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main(){
    int n,k;
    int A[10];
    int B[10];
    cin>>n;
    for(int i=0;i<n;i++){
 
        A[i]=rand()%25;
                   for(int j=i+1;j<=n-1;j++)
                        {
                          if (A[j]<A[i]) 
                          { k=k+1; }
                           
                          
                        }
                             
                                
             
    }
 
   system("pause");
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2015, 18:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Квадратичный алгоритм сортировки подсчётом (C++):

Алгоритм сортировки - C++
учитель попросил написать сортировку массива по возрастанию в общем виде #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { ...

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

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

Алгоритм сортировки - C++
Здравствуйте, подскажите пожалуйста какой алгоритм можно использовать при решении такой задачи: Дана строка char * из букв и цифр...

Комбинированый алгоритм сортировки - C++
Нужно написать програму на языке С когда имеется алгоритм ! Задача в слудуещем: сортировка масива с N- разных чисел, используя не более N+2...

Не алгоритм быстрой сортировки - C++
Просто как подключить эту функцию Не работаеееет #include&lt;iostream&gt; #include&lt;iomanip&gt; #include &lt;algorithm&gt; using namespace std; ...

7
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
08.03.2015, 19:02 #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
#include <iostream>
#include <time.h>
#include <stdlib.h>
 
int main()
{
    int const n = 10;
    int A[n];
    int B[n];
    srand(time(0));
    for(int i = 0; i < n; ++i)
    {
        A[i] = rand() % 50 - 25;
    }
    int cntr;
    for(int i = 0; i < n; ++i)
    {
        cntr = 0;
        for(int j = 0; j < n; ++j)
        {
            if(A[j] < A[i] || (A[j] == A[i] && j < i))
            {
                ++cntr;
            }
        }
        B[cntr] = A[i];
    }
    for(auto val : B)
    {
        std::cout << val << "  ";
    }
    return 0;
}
1
gerodotes
-1 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 28
08.03.2015, 19:14  [ТС] #3
я новичок,поэтому некоторые фукнции не понимаю...srand(time(0)) что это?for(auto val : B)
{
std::cout << val << " ";
} здесь используется класс?(std) .Просто какой нибудь алгоритм попонятнее если можно..
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
08.03.2015, 19:48 #4
Это srand(time(0)) можешь удалить
Это for(auto val : B) просто вывод массива B на экран
0
gerodotes
-1 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 28
08.03.2015, 19:54  [ТС] #5
ок.разобрался.спасибо.можешь поподробнее объяснить это выражение if(A[j] < A[i] || (A[j] == A[i] && j < i)).....
(A[j] < A[i])-это ищем элементы меньше рассматриваемого...а дальше?
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
08.03.2015, 20:21 #6
Дальше это элементы равные рассматриваемому но стоящие раньше него в массиве
0
gerodotes
-1 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 28
08.03.2015, 22:47  [ТС] #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream>
#include<stdlib.h>
using namespace std;
 
int main()
{
   const int n=10;
   int A[n];
   int B[n];
   for(int i=0;i<n;i++)
   {
     A[i]=rand()%35;
     cout<<A[i]<<" ";
   }
   int k;
   for(int i=0;i<n;i++)
   {
       k=0;
       for(int j=0;j<i;j++) 
       {
         if (A[j]<A[i])
         {k++;}
       }
 
       for(int j=i+1;j<n;j++)
       {
         if(A[j]<=A[i])
         {k++;}
       }
 
        B[k]=A[i];
   
   }
  
    cout<<endl;
 
   for(k=0;k<n;k++)
   {
     cout<<B[k]<<"  ";
   }
 
 
 
 
   system("pause");
}
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
08.03.2015, 23:10 #8
Нет. Если взять массив {1,1} то твой алгоритм выдаст значения k = 1, 0 мой выдаст k = 0, 1. У тебя алгоритм неустойчивый, меняет равные элементы местами. Квадратичный алгоритм должен быть устойчивый.
0
08.03.2015, 23:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2015, 23:10
Привет! Вот еще темы с ответами:

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

Алгоритм плавной сортировки (C++ -> Си) - C++
static void SmoothSort(String Aarg, const int N) { int temp; A = Aarg; q = 1; r = 0; p = 1; b = 1; c = 1; while...

Алгоритм сортировки,ошибка! - C++
У меня алгоритм сортировки вставками но вот только не сортирует почему то #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Не работает алгоритм сортировки - C++
Не работает алгоритм сортировки Ни при заполнении псевдослучайными числами,ни при заранее заданных. Подскажите пожалуйста, в чем...


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

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

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