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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 691
#1

Пузырьковый метод - C++

16.07.2011, 17:27. Просмотров 3449. Ответов 6
Метки нет (Все метки)

Не могу написать простейший пузырьковый метод.
Откуда берется ноль ?
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>
using namespace std;
int main()
{setlocale(LC_ALL,"Rus");
int a[5],r=100;
for(int y=0;y<5;y++)
{cout<<"Введите "<<y+1<<" число --> ";
cin>>a[y];
}
for(int p=0;p<5;p++)
{cout<<" Число --> "<<a[p]<<endl;}
for(int z=0;z<4;z++)
for(int x=0;x<5;x++)
 
if(a[x]>a[x+1])
{
r=a[x];
a[x]=a[x+1];
a[x+1]=r;
}
 
for(int h=0;h<5;h++)
    cout<<a[h]<<endl;
 
cin.get();
cin.get();
return 0;
}
Миниатюры
Пузырьковый метод  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2011, 17:27     Пузырьковый метод
Посмотрите здесь:

Пузырьковый метод сортировки с оптимизацией - C++
Переписать все положительные элементы матрицы A(10,10) в вектор Y. Используя метод пузырьковой сортировки с оптимизацией по количеству...

Методы сортировки массивов.Метод пузырьковый - C++
Метод пузырьковый nLeft 600 nRight 1600 Помогите сделать Зарание Благодарю.

Сортировка массивов методом прямых обменов или «пузырьковый» - C++
Введите с клавиатуры текст в массив символов. Определите, какие из слов в массиве состоят из букв с возрастающими кодами, какие – с...

Пузырьковый метод - C (СИ)
2381fe2691.jpg #include &lt;stdio.h&gt; #include &lt;conio.h&gt; main() {int i,t,a,b,g; for(i=0;i&lt;3;i++) scanf(&quot;%d&quot;,&amp;a); ...

Пузырьковый метод - Java SE
Сформировать массив из ста элементов и провести сортировку пузырьковым методом.

пузырьковый метод - QBasic
Здаствуйте. Объясните мне пожалуйста пузырьковый метод сортировки массива и как записать его в компилятор. Заранее спасибо!

пузырьковый метод - C#
помогите,пожалуйста: В массиве целых чисел (не более 100 элементов), не превосходящих по модулю 1000 и среди которых нет равных, найти...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.07.2011, 17:35     Пузырьковый метод #2
Вы во вложенном цикле сравниваете элементы массива с индексами x и x + 1. Однако x у вас меняется от нуля до 5 (не включительно). Значит однажды x + 1 станет равен 5, хотя в массиве элементы имеют индексы с 0 по 4. Т.е. вы выйдете за границы массива.
Robotun
1 / 1 / 0
Регистрация: 15.07.2011
Сообщений: 11
16.07.2011, 17:45     Пузырьковый метод #3
Попробуй перекомпилировать... У меня всё работает
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
16.07.2011, 17:52     Пузырьковый метод #4
Читаем до просветления: Алгоритмы сортировок
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 691
16.07.2011, 19:26  [ТС]     Пузырьковый метод #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
#include <iostream>
using namespace std;
int main()
{setlocale(LC_ALL,"Rus");
int a[5],r=100;
for(int y=0;y<5;y++)
{cout<<"Введите "<<y+1<<" число --> ";
cin>>a[y];
}
for(int p=0;p<5;p++)
{cout<<" Число --> "<<a[p]<<endl;}
for(int z=0;z<5;z++)
for(int x=0;x<4;x++)
 
if(a[x]>a[x+1])
{
r=a[x];
a[x]=a[x+1];
a[x+1]=r;
}
 
for(int h=0;h<5;h++)
        cout<<a[h]<<endl;
 
cin.get();
cin.get();
return 0;
}
Вот в этом

C++
1
2
for(int z=0;z<5;z++)
for(int x=0;x<4;x++)
У меня же было
C++
1
2
for(int z=0;z<4;z++)
for(int x=0;x<5;x++)
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.07.2011, 20:47     Пузырьковый метод #6
parkito, Можно вот это:
C++
1
2
for(int z=0;z<5;z++)
for(int x=0;x<4;x++)
немного ускорить:
C++
1
2
for(int z=0;z<5;z++)
for(int x=0;x<4-z;x++)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2015, 23:05     Пузырьковый метод
Еще ссылки по теме:

Пузырьковый метод сортировки - Pascal
Отсортировать произвольный одномерный массив размерностью N&lt;=20 по убыванию методом прямого обмена (пузырьков). помогите, пожалуйста...

Пузырьковый метод сортировки - Lazarus
Ребят помогите ,пожалуйста, визуально реализовать пузырьковый метод сортировки.

Пузырьковый метод сортировки - Free Pascal
Помогите пожалуста нужно написать программу сортировки масива пузырьковым методом. Масив размером 1000 елементов от 0 до 65000. Масив нужно...

Пузырьковый метод+ дополнения - Turbo Pascal
Добрый день. У меня вот такая задача: Дан массив из 50 действительных чисел. необходимо отсортировать его пузырьковым методом. а)...

Заменить метод сортировки на пузырьковый - Pascal ABC
Помогите заменить метод сортировки на пузырьковый. uses crt; type elem = record elem: array of string; end; ...


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

Или воспользуйтесь поиском по форуму:
n0v1c14
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 3
28.11.2015, 23:05     Пузырьковый метод #7
Подскажите пожалуйста, за что , в этом коде, отвечают переменные r,p,z,x?
Yandex
Объявления
28.11.2015, 23:05     Пузырьковый метод
Ответ Создать тему
Опции темы

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