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

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

Восстановить пароль Регистрация
 
bereza19
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 19
15.09.2013, 07:14     отсортировать методом пузырька #1
Дан массив из N целых чисел. Получить из него массив чисел меньших 15 и отсортировать его по возрастанию методом пузырька. У меня массив чисел меньше 15 получается сделать (код ниже), но он с ошибками. И я никак не могу понять метод пузырька. Помогите сделать пожалуйста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma argsused
#include<iostream.h>
#define n 8
int main(int argc, char* argv[])
{ int i, a[30], b[20],x, g, k, t, d, l, m;
 
for (i=0; i<n; i++) {cout<<"Vvedite element massiva"; cin>>a[i];}
for (i=0; i<n; i++) cout<<a[i]<<" ";
 
k=0;
for(i=0; i<n; i++)
{if(a[i]<15) {b[k]=a[i]; k++;}}
for(i=0; i<k; i++)
cout<<b[i]<<"\n ";cin>>b[i];
 cin>>a[i];
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 07:37     отсортировать методом пузырька #2
Алгоритмы сортировок
...
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
15.09.2013, 07:40     отсортировать методом пузырька #3
У тебя просто первый элемент массива b выводится в одной строке вместе с исходным массивом.
Вставь между выводами массивов
C++
1
cout<<endl;
И, кстати, вместо этого
C++
1
cout<<b[i]<<"\n "
лучше тоже
C++
1
cout<<b[i]<<endl
bereza19
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 19
15.09.2013, 11:30  [ТС]     отсортировать методом пузырька #4
Цитата Сообщение от lipnev Посмотреть сообщение
У тебя просто первый элемент массива b выводится в одной строке вместе с исходным массивом.
Вставь между выводами массивов
C++
1
cout<<endl;
И, кстати, вместо этого
C++
1
cout<<b[i]<<"\n "
лучше тоже
C++
1
cout<<b[i]<<endl
Спасибо, все получилось) что то я сам запутался по началу)
bereza19
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 19
15.09.2013, 12:05  [ТС]     отсортировать методом пузырька #5
Дан массив из N целых чисел. Получить из него массив чисел меньших 15 и отсортировать его по возрастанию методом пузырька. В этом коде у меня массив чисел меньше 15 получается сделать, а сортировку пузырьком, не получается, подскажите в чем тут ошибка?
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
#pragma argsused
#include<iostream.h>
#define n 8
int main(int argc, char* argv[])
{int i, a[30], b[20], x, g, k, t, d, l, m;
for (i=0; i<n; i++) {cout<<"Vvedite element massiva"; cin>>a[i];}
for (i=0; i<n; i++) cout<<a[i]<<" "<<endl;
 
k=0;
for(i=0; i<n; i++)
{if(a[i]<15) {b[k]=a[i]; k++;}}
for(i=0; i<k; i++)
cout<<b[i]<<" ";
 
void bubbleSort(int* arr, int size)
{
    int tmp, i, j;
 
    for(i = 0; i < size - 1; ++i) // i - Г*îìåð ïðîõîäГ*
    {
        for(j = 0; j < size - 1; ++j) // ГўГ*óòðåГ*Г*ГЁГ© öèêë ïðîõîäГ*
        {
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}
 cin>>a[i];
}
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
15.09.2013, 12:14     отсортировать методом пузырька #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template< class T >
void bubbleSort(T* arr, int size)
{
    T tmp;
 
    for(int i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(int j = 0; j < size - 1; ++j) // внутренний цикл прохода
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
        }
    }
}
Алгоритмы сортировок
Yandex
Объявления
15.09.2013, 12:14     отсортировать методом пузырька
Ответ Создать тему
Опции темы

Текущее время: 13:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru