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

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

Войти
Регистрация
Восстановить пароль
 
Oleg Pridarun
1 / 1 / 1
Регистрация: 16.06.2016
Сообщений: 47
#1

Не могу найти ошибку! - C++

03.07.2016, 13:20. Просмотров 118. Ответов 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
[B][I]#include <iostream>;
 
using namespace std;
 
void bubbleSort(int Arr[], int Arr_num)
{
for(int i(0); i < Arr_num; i++)
    {
        if(Arr[i] > Arr[i+1])
            {
                int p;
                p = Arr[i];
                Arr[i] = Arr[i+1];
                Arr[i+1] = p;
            }
    }
 
        for(int i(0); i < Arr_num; i++)
            {
                cout << "Arr[" << i << "] = " << Arr[i] << endl;
            }
 
}[/I][/B]
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 13:20     Не могу найти ошибку!
Посмотрите здесь:

Не могу найти ошибку - C++
Кусок программы. Нужно найти в файле необходимую услугу и записать её номер. У строки searching уже есть значение. Пример строки: Cвязь...

Не могу найти ошибку - C++
В общем суть программы состоит в том чтобы решить нелинейное уравнение x3+x2-4x-4=0 двумя методами хорд и итераций, есть исходник , вот...

Не могу найти ошибку - C++
Условие задачи: Написать функцию решения квадратного уравнения. Помогите найти ошибку: #include &lt;iostream.h&gt; int sqvare (int a)...

Не могу найти ошибку - C++
Не могу найти ошибку. Вод код #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; int sum (int a, int b) { int c; c...

Не могу найти ошибку - C++
Добрый день. Имеется задача: Написал код: Но вычисляет он неверно. Объясните, пожалуйста, в чем ошибка.

Не могу найти ошибку - C++
{ char str={0}; char str2={0}; int k=0; int n=8; strcpy(str,this-&gt;Edit1-&gt;Text.c_str()); for(int i=0; str!='\0';i++) { ...

С++ не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; typedef double TMatrix; typedef double TVector; const int N=10; ...

Не могу найти ошибку - C++
Сумму элементов последовательности, расположенных между первым и вторым положительными элементами. При помощи итераторов. Если нету...

Не могу найти ошибку - C++
Вот задание к которому надо придумать обработку исключительных ситуаций Поле first - положительное целое число, цена товара, поле second...

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; class Sum { public: int sum1 (int x1, int x2) { return x1 + x2; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
daniilorain
👻👻👻
18 / 25 / 11
Регистрация: 22.04.2016
Сообщений: 166
03.07.2016, 13:26     Не могу найти ошибку! #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
У вас нет ещё одного цикла перед if:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void bubble_sort(int *a, int length)
{
     for (int i = 0; i < length-1; i++) {
        bool swapped = false;
         for (int j = 0; j < length-i-1; j++) {
             if (a[j] > a[j+1]) {
                 int b = a[j]; 
                 a[j] = a[j+1];
                 a[j+1] = b;
                 swapped = true;
             }
         }
         
         if(!swapped)
            break;
     }
 }
Unknownx
Заблокирован
03.07.2016, 13:28     Не могу найти ошибку! #3
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
#include <iostream>
using namespace std;
 
void bubble_sort(int *a, int length)
{
     for (int i = 0; i < length-1; i++) {
        bool swapped = false;
         for (int j = 0; j < length-i-1; j++) {
             if (a[j] > a[j+1]) {
                 int b = a[j]; 
                 a[j] = a[j+1];
                 a[j+1] = b;
                 swapped = true;
             }
         }
         
         if(!swapped)
            break;
     }
 }
 
int main(){
    int i, n;
    int A[] = {-1, 3, -8, 14, 5, 2, 15};
    n = sizeof(A)/sizeof(A[0]);
    cout<<"\nINPUT : ";
    for( i = 0; i < n; i++ )
        cout<<A[i]<<" ";
    bubble_sort(A, n);
    cout<<"\nOUTPUT : ";
    for( i = 0; i < n; i++ )
        cout<<A[i]<<" ";
    return 0;
}
http://codepad.org/7fg0k6LS
INPUT : -1 3 -8 14 5 2 15
OUTPUT : -8 -1 2 3 5 14 15
Yandex
Объявления
03.07.2016, 13:28     Не могу найти ошибку!
Ответ Создать тему
Опции темы

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