В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
vladvoroxov
vladvoroxov
16.01.2023 08:52 •  Информатика

Алгоритм Пузырьком в C++.
Подскажите в чём ошибка.
void stupid_sort(vector &x)
{
for (int i = 0; i < x.size() - 1; i++)
{
for (int j = x.size() - 1; j < i; j++)
if (x[j - 1] > x[j])
{
temp = x[j - 1];
x[j - 1] = x[j];
x[j] = temp;
}
else break;
}
}
Выдаёт ошибку в 6-ой 8-ой и 10-ой строке.
Из условия, что в той же самой программе алгоритм Глупой сортировки
void stupid_sort(vector &x)
{
for(int i = 0; i < x.size() - 1;)
if(x[i + 1] < x[i])
{
swap(x[i], x[i + 1]);
i = 0;
}
else i++;
}
Работает так как надо.

Ответ:
akow08
akow08
23.05.2020 13:30

Объяснение:

Ну букву 'T' замените на int, к примеру:

C++Выделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

void bubbleSort(int* arr, int size)  // Сортировка пузырьком

{

   int 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;

           }

       }

   }

}

Передавать массив вот так:

bubbleSort(имя_массива, количество_элементов);

0

0,0(0 оценок)
Ответ:
ryure146
ryure146
23.05.2020 13:30

Не правильно передан массив.И как человек выше ответил,не Т,а int

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?