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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
xexew
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 76
#1

сортировка пузырьком - C++

11.09.2011, 22:59. Просмотров 2522. Ответов 23
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
void main()
{
const n=4;
int a[n],i,j,buffer;
for(i=0;i<n;i++)
cin>>a[i];
 
for (i=0; i<n-1; i++) 
    for (j=i; j>=0; j--) 
        if (a[j] > a[j+1]) 
        {
         buffer=a[i];
         a[i]=a[j];
         a[j]=buffer;
        }
for(i=0;i<n;i++)
cout<<"a["<<i<<"]="<<a[i]<<endl;
 
 
 
}
входные данные: 5 3 10 2
исходные: 3 5 10 2
будьте добры, подскажите как сделать что бы он еще один круг сортировал
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2011, 22:59     сортировка пузырьком
Посмотрите здесь:

Сортировка пузырьком - C++
Правильно ли организую ввод размера массива через клавиатуру?Если неправильно-то как? #include &lt;stdio.h&gt;; #include &lt;stdlib.h&gt;; ...

Сортировка пузырьком - C++
Привет всем. Проверьте программу, пожалуйста. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int n, i, j, t; void sort( int a, int n,...

Сортировка пузырьком - C++
Привет всем! У меня по методу вопросов нет, успешно отсортировал от меньшего к большему, но вот от большего к меньшему - какая-то шляпа...

Сортировка пузырьком с++ - C++
Сортировка пузырьком, все работает, но помогите поменять ввод цифр в ручную на ввод цифр рандома (от -100 до +100). #include &lt;iostream&gt; ...

Сортировка пузырьком - C++
Не понимаю, в чем проблема при сортировке пузырьком. сортирую структуру: for (int i=0; i&lt;4; i++) { for (int j=n-1; j&gt;i; j--)...

Сортировка пузырьком - C++
вот написала программу но не работает :( #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; using...

Сортировка пузырьком - C++
Не удается сделать сортировку пузырьком (то что после //1111), не сортирует, либо ошибки в памяти. // spisok.cpp : Defines the entry...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:07     сортировка пузырьком #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
#include <iostream>
 
using namespace std;
int main()
{
const int n=4;
int a[n],i,j,buffer;
for(i=0;i<n;i++)
cin>>a[i];
 
for (i=0; i<n-1; i++) 
    for (j=i; j<n; j++) 
        if (a[j] < a[j+1]) 
                {
                 buffer=a[i];
                 a[i]=a[j];
                 a[j]=buffer;
                }
for(i=0;i<n;i++)
cout<<"a["<<i<<"]="<<a[i]<<endl;
system ("pause"); 
 
 
}
xexew
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 76
11.09.2011, 23:13  [ТС]     сортировка пузырьком #3
все равно не правильно работает
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
11.09.2011, 23:16     сортировка пузырьком #4
А как вам это?
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<stdio.h>
#define N 1000
int
main()
{
   int n, i;
   int a[N];
   scanf("%d", &n);
   for(i = 0 ; i < n; i++)
   {
       scanf("%d", &a[i]);
   }
   for(i = 0 ; i < n-1 ; i++)
   {
      for(j = i + 1 ; j < n ; j++)
      {
          if(a[i] > a[j])
          {
             int tmp = a[i]; a[i] = a[j] ; a[j] = tmp;
          }
       }
   }
   for(i = 0 ; i < n; i++)
   {
       printf("%d ", a[i]);
   }
   return 0;
}
Можно впринципе еще и циклы просто от 0 до n сделать.
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:16     сортировка пузырьком #5
у меня все правильно, что у Вас не так?
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:18     сортировка пузырьком #6
Вот скрин
Миниатюры
сортировка пузырьком  
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:19     сортировка пузырьком #7
понял, проблема в другом
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.09.2011, 23:20     сортировка пузырьком #8
C++
1
2
3
4
5
6
7
for (i=0; i<n-1; i++) 
    for (j=i; j<n; j++) 
        if (a[j] < a[j+1]) 
        {
            buffer=a[i];
            a[i]=a[j];
            a[j]=buffer;
Вот тут случаем не будет выхода за границы массива?
xexew
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 76
11.09.2011, 23:21  [ТС]     сортировка пузырьком #9
допустим вводим данные: 33 13 20 14 22 5 10 1 2 3
выводит: 2 1 5 10 14 22 33 20 13 3
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:23     сортировка пузырьком #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
const int n=4;
int a[n],i,j,buffer;
for(i=0;i<n;i++)
cin>>a[i];
 
for (i=0; i<=n; i++) 
    for (j=0; j<n-i; j++) 
        if (a[j] > a[j+1]) swap (a[j],a[j+1]);
for(i=0;i<n;i++)
cout<<"a["<<i<<"]="<<a[i]<<endl;
system ("pause"); 
 
 
}
RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
11.09.2011, 23:31     сортировка пузырьком #11
"Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован." - это из Википедии.
Обратите внимание на последнее предложение. В зависимости от степени упорядоченности исходного массива может потребоваться разное количество проходов по нему. Так где контроль того, упорядочен ли массив?
xexew
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 76
11.09.2011, 23:34  [ТС]     сортировка пузырьком #12
warning C4508: 'main' : function should return a value; 'void' return type assumed
warning C4101: 'buffer' : unreferenced local variable

первое решается добавлением return 0;
а второе?
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 23:36     сортировка пузырьком #13
у меня все идет, что у Вас за компилятор? и попробуйте убрать buffer, за него действует swap
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.09.2011, 23:39     сортировка пузырьком #14
unreferenced
Не используемая.
Учите английский. Ну или Гугл транслейт вам в помощь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2011, 23:42     сортировка пузырьком
Еще ссылки по теме:

сортировка пузырьком - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main(int argc, char *argv) { ...

Сортировка пузырьком - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;ctime&gt; using namespace std; void Sort(int *, int); const int n = 8; int ...

Сортировка пузырьком - C++
Нужно отсортировать два динамических массива методом пузырька. Не могу понять в чем ошибка, помогите пожалуйста. #include &quot;stdafx.h&quot; ...

Сортировка пузырьком - C++
Как сделать пошаговый вывод сортировки? #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;ctime&gt; using namespace std; void...

Сортировка Пузырьком :) - C++
Привет, ребята :) Вообщем, наткнулся на написание программы с использованием сортировки пузырьком. Никогда не использовал :) Часть кода...


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

Или воспользуйтесь поиском по форуму:
xexew
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 76
11.09.2011, 23:42  [ТС]     сортировка пузырьком #15
ms visual 6.0 c++
ms vs 2005

оба с ошибкой работают
Миниатюры
сортировка пузырьком  
Yandex
Объявления
11.09.2011, 23:42     сортировка пузырьком
Ответ Создать тему
Опции темы

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