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

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

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

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

16.07.2011, 17:27. Просмотров 3657. Ответов 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;
}
0
Миниатюры
Пузырьковый метод  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2011, 17:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пузырьковый метод (C++):

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

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

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

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя - C++
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя) - C++
Здравствуйте! Дали весьма интересное задание. Сравнить два вышеуказанных метода сортировки для массива из 10000 элементов, результаты...

Мой код - метод бисекции, метод секущих (метод хорд) - C++
Всем привет!!! Изучаем в институте С++. Сделал код, и там, и там одна и та же проблема - при любых вбиваемых значениях программа делает...

6
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
16.07.2011, 17:35 #2
Вы во вложенном цикле сравниваете элементы массива с индексами x и x + 1. Однако x у вас меняется от нуля до 5 (не включительно). Значит однажды x + 1 станет равен 5, хотя в массиве элементы имеют индексы с 0 по 4. Т.е. вы выйдете за границы массива.
1
Robotun
1 / 1 / 0
Регистрация: 15.07.2011
Сообщений: 11
16.07.2011, 17:45 #3
Попробуй перекомпилировать... У меня всё работает
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
16.07.2011, 17:52 #4
Читаем до просветления: Алгоритмы сортировок
1
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 693
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++)
0
valeriikozlov
Эксперт С++
4674 / 2500 / 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++)
0
n0v1c14
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 3
28.11.2015, 23:05 #7
Подскажите пожалуйста, за что , в этом коде, отвечают переменные r,p,z,x?
0
28.11.2015, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2015, 23:05
Привет! Вот еще темы с ответами:

Исследовать итерационный метод- метод касательных для решения нелинейных уравнений - C++
прочитал много всего , но сам пример реализовать никак не могу , кто может помогите F(x) = x5+5x+1=0 с...

Не сходится теория и практика метод Шелла и метод простого выбора - C++
Здравствуйте! Помогите пожулуйста найти ошибке в коде, Я уже не знаю где ее искать. У меня метод простого выбора работает по показателям...

Нахождения корней уравнения: метод половинного деления (бисекции) или метод хорд - C++
Разработать программу нахождения корней уравнения f(x) =0 на интервале с точностью e = 0,001 (интервал или подобрать самостоятельно). При...

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии) - C++
Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на сдаче завалили, типо нет вывода корней, не рассмотрены...


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

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

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