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

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

Войти
Регистрация
Восстановить пароль
 
stimo15
148 / 111 / 38
Регистрация: 09.09.2011
Сообщений: 274
#1

Пузырьковая сортировка - C++

28.10.2012, 20:01. Просмотров 508. Ответов 5
Метки нет (Все метки)

В чес дело не могу понять? Переменной массива с индексом X[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
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main()
{
    int x[100], i,j,n,tmp;
    cout<<"N="; cin>>n;
    tmp=0;
 
    for (i=0; i<n; i++)
    {
        cout<<"Enter ["<<i<<"] element: " ;
        cin>>x[i];
    }
    system("cls");
    cout<<"Massiv: \n";
 
    for (i=0; i<n; i++)
        cout<<"X["<<i<<"] = "<<x[i]<<endl;
 
    cout<<"Sortirovka puzirkem: \n";
 
    for (i=0; i<n-1; i++)
    {
        for (j=0; j<n-i; j++)
        {
        if (x[j]>x[j+1])
        {
            tmp=x[j+1];
            x[j+1]=x[j];
            x[j]=tmp;
        }
        }
    }
 
    for (i=0; i<n; i++)
        cout<<"X["<<i<<"]="<<x[i]<<endl;
 
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 20:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пузырьковая сортировка (C++):

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

пузырьковая сортировка - C++
Задача не сложная, но у меня нет времени ее решать: дан одномерный массив, нужно сделать пузырьковую сортировку по нему

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

Пузырьковая сортировка - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { const int n = 5; int a; ifstream...

Пузырьковая сортировка - C++
Помогите исправить не сортирует массив.Еще должен считать кол-во шагов прохода цикла. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Пузырьковая сортировка - C++
Написал программу сортировки методом пузырька: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
28.10.2012, 20:05 #2
Левое в смысле вообще не из массива?
C++
1
for (j=0; j<n-i-1; j++)
надо проходить до предпоследнего, а не до последнего элемента, иначе последний элемент поменяется местами с n+1 ым
1
stimo15
148 / 111 / 38
Регистрация: 09.09.2011
Сообщений: 274
28.10.2012, 20:07  [ТС] #3
да, там что то типо -8696849
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
28.10.2012, 20:32 #4
ну, я и говорю: сортировка выходит за пределы массива на 1 элемент и захватывает число -8696849, которое как самое малое отправляется в начало массива, а на его место ставится макс. элемент.
0
I_Masha_I
2 / 2 / 0
Регистрация: 14.10.2012
Сообщений: 53
28.10.2012, 20:53 #5
вот работающая программа сортировки пузырьком

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
#include "StdAfx.h"
#include <cstdlib>
#include <iostream>
 
using namespace std;
double *creat(int &n)
{
    cout<<"n=";cin>>n;
double *a = new double[n];
for(int i=0; i<n; i++)
{cin>>a[i];}
return a;}
 
int main(int argc, char *argv[])
{
    int n, temp;
    double *a = creat(n);
    temp = 0;
    for(int i=0;i<n;i++)
    { 
        for(int j=0;j<n-1;j++)
        {
            if (a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
        cout<<a[i];
    }
    system("PAUSE");
    delete[] a;
    return 0;
}
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
28.10.2012, 21:11 #6
Цитата Сообщение от I_Masha_I Посмотреть сообщение
вот работающая программа сортировки пузырьком
она хоть и работающая, но в ней нет той попытки оптимизировать алгоритм.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 21:11
Привет! Вот еще темы с ответами:

Пузырьковая сортировка - C++
Хочу спросить, это пузырьковая сортировка или нет? Как её правильно реализовать? Как оценить эффективность алгоритма сортировки по числу...

Пузырьковая сортировка - C++
Здравствуйте .Объясните , пожалуйста , подробно , как работает пузырьковая сортировка . Получается сравниваются два соседних элемента и...

Сортировка пузырьковая - C++
Привет всем!помогите отсортировать задачку. #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { const...

Пузырьковая сортировка - C++
Здравствуйте. Есть код, который сортирует методом пузырька по строчкам, что мне поменять, чтобы была сортировка по столбцам начиная с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.10.2012, 21:11
Ответ Создать тему
Опции темы

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