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

Ошибка сортировки пузырьком - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ обьясните что именно делает функция this http://www.cyberforum.ru/cpp-beginners/thread546203.html
Обьяснте пожалуйста что делает функция this?
C++ матрицы Дана матрица P(n,n). Проверить для нее свойство P2=P. Вычислить определитель матрицы P. http://www.cyberforum.ru/cpp-beginners/thread546153.html
Работа с файлами: найти слово, содержащее максимальное количество введенных букв C++
Дано: текстовый файл, пользователем вводится буква. Найти: слово, содержащее наибольшее количество введенных букв. Набросал немного, но вот что дальше делать не знаю... #include <conio.h>...
Построить таблицу значений функции на интервале с шагом C++
Постройте таблицу значений функции y=f(x) для x∈ с шагом h. Если в некоторой точке x функция не определена ,то выведите на экран сообщение об этом. Для решения задачи использовать вспомогательную...
C++ Выделение слов, содержащих определённый символ, считаных из файла. http://www.cyberforum.ru/cpp-beginners/thread546110.html
В общем суть задачи - нужно считать текст с файла; вывести его на консоль; найти символ, с которого начинается самое длинное слово файла и выделить все слова, в которых содержится данный символ. С...
C++ Сумма элементов в тех столбцах, которые не содержат отрицательных элементов. Первый раз выдает все правильно, а потом начинает выдавать лишние суммы... не пойму что нужно исправить... буду благодарен за помощь) #include "stdafx.h" #include <iostream.h> void main(void)... подробнее

Показать сообщение отдельно
[WRG]
52 / 52 / 9
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1

Ошибка сортировки пузырьком - C++

12.04.2012, 18:36. Просмотров 431. Ответов 4
Метки (Все метки)

Программа заполняет массив из 10 элементов рандомными числами от 1 до 100, выводит исходный массив, потом сортирует его методом пузырька и снова выводит.
проблема в том что заполняет и выводит массив программа как надо, а вот дольше дело не идет, либо она вобще не меняет элементы местами, либо меняет только одну пару.
грешу на выход индекса массива из диапазона, но сколько не смотрел, вроде все правильно.
помогите разобраться в проблеме)

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
 
void fill_array(int ranmax, int size_of_arr);
void output_array(int size_of_arr);
void sort_array(int size_of_arr);
 
int array[10];   //массив на 10 элементов
 
int main()
{
    setlocale(LC_ALL,"Russian");
    //int i,j,temp;
    fill_array(100, 10);
    cout << "Исходный массив:\n";
    output_array(10);
    sort_array(10);
    cout << "Отсортированный массив:\n";
    output_array(10);
    return 0;
}
 
void fill_array(int ranmax, int size_of_arr)
{
    srand(time(NULL));
    for(int i=0; i < size_of_arr; i++)
      {
          array[i] = 1 + rand() % ranmax;
      }
}
 
void output_array(int size_of_arr)
{
    for(int i=0; i < size_of_arr; i++)
      {
          cout << array[i] << ' ';
      }
    cout  << '\n';
}
 
void sort_array(int size_of_arr)
{
    int i,j,temp;
    for (i = 0; i < size_of_arr-1; i++)
    {
      for (j = 0; j < size_of_arr-1; i++)
      {
        if (array[j+1]<array[j])
          {
              cout << "Обмен\n";
              temp = array[j+1];
              array[j+1] = array[j];
              array[j] = temp;
          }
      }
    }
 
}
да я использую Codeblocs + GCC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru